home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / os2 / lopbk505.zip / LOOPBACK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-25  |  71KB  |  3,871 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  BOOLEAN018
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Boolean  BOOLEAN021
  40.     Boolean  BOOLEAN022
  41.     Boolean  BOOLEAN023
  42.     Boolean  TBOOLEAN024(4)
  43.     Boolean  TBOOLEAN025(3)
  44.     Boolean  BOOLEAN026
  45.     Boolean  BOOLEAN027
  46.     Boolean  BOOLEAN028
  47.     Boolean  BOOLEAN029
  48.     Boolean  BOOLEAN030
  49.     Boolean  BOOLEAN031
  50.     Boolean  BOOLEAN032
  51.     Boolean  BOOLEAN033
  52.     Boolean  BOOLEAN034
  53.     Boolean  BOOLEAN035
  54.     Boolean  BOOLEAN036
  55.     Boolean  BOOLEAN037
  56.     Boolean  BOOLEAN038
  57.     Boolean  BOOLEAN039
  58.     Boolean  BOOLEAN040
  59.     Boolean  BOOLEAN041
  60.     Date     DATE002
  61.     Date     DATE003
  62.     Date     TDATE004(5)
  63.     Date     DATE005
  64.     Date     DATE006
  65.     Date     DATE007
  66.     Date     DATE008
  67.     Date     DATE009
  68.     Integer  INTEGER003
  69.     Integer  INTEGER004
  70.     Integer  INTEGER005
  71.     Integer  INTEGER006
  72.     Integer  INTEGER007
  73.     Integer  INTEGER008
  74.     Integer  INTEGER009
  75.     Integer  INTEGER010
  76.     Integer  INTEGER011
  77.     Integer  INTEGER012
  78.     Integer  INTEGER013
  79.     Integer  INTEGER014
  80.     Integer  INTEGER015
  81.     Integer  INTEGER016
  82.     Integer  INTEGER017
  83.     Integer  INTEGER018
  84.     Integer  TINTEGER019(99)
  85.     Real     REAL001
  86.     String   STRING006
  87.     String   STRING007
  88.     String   STRING008
  89.     String   STRING009
  90.     String   STRING010
  91.     String   STRING011
  92.     String   STRING012
  93.     String   STRING013
  94.     String   STRING014
  95.     String   TSTRING015(4)
  96.     String   STRING016
  97.     String   STRING017
  98.     String   STRING018
  99.     String   STRING019
  100.     String   STRING020
  101.     String   STRING021
  102.     String   STRING022
  103.     String   STRING023
  104.     String   STRING024
  105.     String   STRING025
  106.     String   STRING026
  107.     String   STRING027
  108.     String   TSTRING028(6)
  109.     String   STRING029
  110.     String   TSTRING030(11)
  111.     String   STRING031
  112.     String   STRING032
  113.     String   STRING033
  114.     String   STRING034
  115.     Time     TIME001
  116.     Time     TTIME002(5)
  117.     Time     TIME003
  118.     Time     TIME004
  119.     Time     TIME005
  120.     Byte     BYTE001
  121.     Byte     BYTE002
  122.     Byte     BYTE003
  123.     Byte     BYTE004
  124.     Byte     BYTE005
  125.     Byte     BYTE006
  126.     Byte     BYTE007
  127.     Byte     BYTE008
  128.     Byte     BYTE009
  129.     Byte     BYTE010
  130.     Byte     BYTE011
  131.     Byte     BYTE012
  132.     Byte     BYTE013
  133.     Byte     BYTE014
  134.     Byte     BYTE015
  135.     Byte     BYTE016
  136.     Byte     BYTE017
  137.     Byte     TBYTE018(1)
  138.     Byte     BYTE019
  139.     Byte     BYTE020
  140.     Byte     TBYTE021(5)
  141.     Byte     BYTE022
  142.     Byte     BYTE023
  143.     Byte     BYTE024
  144.     Word     WORD001
  145.     Word     WORD002
  146.     Word     WORD003
  147.     Word     WORD004
  148.     Word     WORD005
  149.     Word     WORD006
  150.     Word     WORD007
  151.     Word     WORD008
  152.     Word     WORD009
  153.     Word     WORD010
  154.  
  155.     INTEGER006 = 2 + 4 + 256 + 128 + 8 + 0
  156.     BOOLEAN015 = 0
  157.     STRING034 = PPEPath() + "LBKBACK.XXX"
  158.     GetUser
  159.     BOOLEAN001 = 0
  160.     BOOLEAN002 = 0
  161.     STRING029 = ReadLine(PCBDat(), 53)
  162.     STRING024 = Strip(Strip(Strip(Strip(Strip(U_HVPhone, " "), "("), ")"), "-"), "+")
  163.     STRING025 = Strip(Strip(Strip(Strip(Strip(U_BDPhone, " "), ")"), "("), "-"), "+")
  164.     DATE009 = 0
  165.     BOOLEAN008 = 0
  166.     GetToken STRING008
  167.     If (Strip(Upper(STRING008), " ") == "CBONLY") Then
  168.         BOOLEAN008 = 1
  169.     ElseIf (Mid(Strip(Upper(STRING008), " "), 1, 6) == "/FILE=") Then
  170.         STRING034 = Mid(STRING008, 7, Len(STRING008) - 6)
  171.     Endif
  172.     If (Exist(PPEPath() + "UNIVERSL.KEY")) Gosub LABEL097
  173.     If (Exist(PPEPath() + "UNI.KEY")) Gosub LABEL097
  174.     If (Exist(PPEPath() + "LBKBTXT" + LangExt())) Goto LABEL003
  175.     If (Exist(PPEPath() + "LBKBTXT")) Goto LABEL001
  176.     PrintLn "@X0CLOOPBACK FATAL ERROR: LBKBTXT" + LangExt() + " not found!"
  177.     Log "LOOPBACK FATAL ERROR: LBKBTXT" + LangExt() + " not found!", 0
  178.     PrintLn 
  179.     Wait
  180.     Goto LABEL131
  181.     Goto LABEL002
  182.     :LABEL001
  183.     FOpen 5, PPEPath() + "LBKBTXT", 0, 0
  184.     If (Ferr(5)) Then
  185.         BOOLEAN019 = 1
  186.     Else
  187.         BOOLEAN019 = 0
  188.     Endif
  189.     If (BOOLEAN019) Then
  190.         OpText "LBKBTXT"
  191.         WORD004 = 9
  192.         Gosub LABEL127
  193.         If (BOOLEAN027) DispStr STRING032
  194.         PrintLn 
  195.         WORD004 = 8
  196.         Gosub LABEL127
  197.         If (BOOLEAN027) Log STRING032 + " LBKBTXT", 0
  198.         WORD004 = 27
  199.         Gosub LABEL127
  200.         If (BOOLEAN027) Log STRING032, 0
  201.         FClose 5
  202.     Else
  203.         :LABEL002
  204.         Goto LABEL004
  205.         :LABEL003
  206.         FOpen 5, PPEPath() + "LBKBTXT" + LangExt(), 0, 0
  207.         If (Ferr(5)) Then
  208.             BOOLEAN019 = 1
  209.         Else
  210.             BOOLEAN019 = 0
  211.         Endif
  212.         If (BOOLEAN019) Then
  213.             OpText "LBKBTXT" + LangExt()
  214.             WORD004 = 9
  215.             Gosub LABEL127
  216.             If (BOOLEAN027) DispStr STRING032
  217.             PrintLn 
  218.             WORD004 = 8
  219.             Gosub LABEL127
  220.             If (BOOLEAN027) Log STRING032 + " LBKBTXT" + LangExt() , 0
  221.             WORD004 = 27
  222.             Gosub LABEL127
  223.             If (BOOLEAN027) Log STRING032, 0
  224.             FClose 5
  225.         Else
  226.             :LABEL004
  227.             WORD004 = 1
  228.             Gosub LABEL127
  229.             If (BOOLEAN027) DispStr STRING032
  230.             WORD004 = 60
  231.             Gosub LABEL127
  232.             If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  233.             Gosub LABEL125
  234.             If (BOOLEAN035 && BOOLEAN008) Then
  235.                 PrintLn 
  236.                 PrintLn "@X0CSorry, call-back only mode is not available..."
  237.                 PrintLn 
  238.                 Log "LOOPBACK: Call-back only mode disabled...", 0
  239.                 Wait
  240.             Else
  241.                 Gosub LABEL071
  242.                 RdUNet PcbNode()
  243.                 If (BOOLEAN005) Then
  244.                     WrUNet PcbNode(), "B", UN_Name(), "LoopBack v5.05     ", "LoopBack Initializing...", ""
  245.                 Else
  246.                     WrUNet PcbNode(), UN_Stat(), UN_Name(), "LoopBack v5.05     ", "LoopBack Initializing...", ""
  247.                 Endif
  248.                 RdUNet PcbNode()
  249.                 AdjTime WORD008
  250.                 BYTE019 = 1
  251.                 Gosub LABEL111
  252.                 If (BOOLEAN022) Then
  253.                     PrintLn 
  254.                     WORD004 = 58
  255.                     Gosub LABEL127
  256.                     If (BOOLEAN027) DispStr STRING032
  257.                     WORD004 = 59
  258.                     Gosub LABEL127
  259.                     If (BOOLEAN027) Log STRING032, 0
  260.                 Else
  261.                     Gosub LABEL093
  262.                     Gosub LABEL095
  263.                     Gosub LABEL097
  264.                     If (BOOLEAN023) Gosub LABEL114
  265.                     :LABEL005
  266.                     If (BOOLEAN001) Goto LABEL015
  267.                     STRING008 = "C"
  268.                     If (BOOLEAN032) Goto LABEL006
  269.                     WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "LoopBack Main Menu", ""
  270.                     DispFile PPEPath() + "LBKWC", 2 + 1 + 4
  271.                     WORD004 = 15
  272.                     Gosub LABEL127
  273.                     BOOLEAN011 = 0
  274.                     InputStr STRING032, STRING008, 0, 1, "RrCcGgLlHhTt", 2 + 4 + 256
  275.                     Goto LABEL007
  276.                     :LABEL006
  277.                     STRING008 = "C"
  278.                     BOOLEAN032 = 0
  279.                     :LABEL007
  280.                     Select Case (Upper(STRING008))
  281.                         Case "R"
  282.                             BOOLEAN011 = 0
  283.                             If (TBOOLEAN025(1)) Then
  284.                                 BOOLEAN001 = 1
  285.                                 Goto LABEL131
  286.                             Else
  287.                                 WORD004 = 54
  288.                                 Gosub LABEL127
  289.                                 If (BOOLEAN027) DispStr STRING032
  290.                                 BOOLEAN001 = 0
  291.                             Endif
  292.                             STRING008 = "R"
  293.                         Case "H"
  294.                             BOOLEAN001 = 0
  295.                             BOOLEAN011 = 0
  296.                             WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Viewing Help File...", ""
  297.                             DispFile TSTRING030(7), 1 + 2 + 4
  298.                             STRING008 = "H"
  299.                         Case "T"
  300.                             BOOLEAN001 = 0
  301.                             BOOLEAN011 = 0
  302.                             WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Running Tutorial...", ""
  303.                             Gosub LABEL133
  304.                             STRING008 = "T"
  305.                         Case "G"
  306.                             BOOLEAN011 = 0
  307.                             If (TBOOLEAN025(0)) Then
  308.                                 BOOLEAN001 = 1
  309.                                 WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Goodbye in LoopBack...", ""
  310.                                 Bye
  311.                             Else
  312.                                 BOOLEAN001 = 0
  313.                                 WORD004 = 54
  314.                                 Gosub LABEL127
  315.                                 If (BOOLEAN027) DispStr STRING032
  316.                             Endif
  317.                             STRING008 = "G"
  318.                         Case "L"
  319.                             BOOLEAN001 = 0
  320.                             BOOLEAN011 = 0
  321.                             If (BOOLEAN031) Goto LABEL008
  322.                             WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Viewing Information...", ""
  323.                             Gosub LABEL075
  324.                             Goto LABEL009
  325.                             :LABEL008
  326.                             WORD004 = 54
  327.                             Gosub LABEL127
  328.                             If (BOOLEAN027) DispStr STRING032
  329.                             :LABEL009
  330.                             STRING008 = "L"
  331.                         Case "C"
  332.                             BOOLEAN001 = 0
  333.                             BOOLEAN011 = 1
  334.                             WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Selecting Number...", ""
  335.                             Gosub LABEL076
  336.                             STRING008 = "C"
  337.                     End Select
  338.                     If (BOOLEAN011) Then
  339.                         Cls
  340.                         DispFile PPEPath() + "SCDISP", 1 + 4
  341.                         WORD004 = 2
  342.                         Gosub LABEL127
  343.                         If (BOOLEAN027) DispStr STRING032 + "    "
  344.                         KbdChkOff
  345.                         Gosub LABEL081
  346.                         Gosub LABEL082
  347.                         If (BOOLEAN014) Then
  348.                             WORD004 = 32
  349.                             Gosub LABEL127
  350.                             If (BOOLEAN027) DispStr STRING032
  351.                             WORD004 = 35
  352.                             Gosub LABEL127
  353.                             If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
  354.                             If (BOOLEAN030) Then
  355.                                 MPrintLn 
  356.                                 Color 15
  357.                                 MPrint "Please wait for 5 seconds"
  358.                                 SPrintLn Chr(27) + +"[2J"
  359.                                 SPrintLn 
  360.                                 SPrintLn "              ┌───────────────────────────────────────────────────┐"
  361.                                 SPrintLn "              │                                                   │"
  362.                                 SPrint "              │                 "
  363.                                 Color 12
  364.                                 SPrint "ATTENTION SYSOP                   "
  365.                                 Color 15
  366.                                 SPrintLn "│"
  367.                                 SPrintLn "              │                                                   │"
  368.                                 SPrint "              │       "
  369.                                 Color 10
  370.                                 SPrint "The user online has entered a number        "
  371.                                 Color 15
  372.                                 SPrintLn "│"
  373.                                 SPrint "              │    "
  374.                                 Color 10
  375.                                 SPrint "that was found in the bad numbers database!    "
  376.                                 Color 15
  377.                                 SPrintLn "│"
  378.                                 SPrintLn "              │                                                   │"
  379.                                 SPrintLn "              └───────────────────────────────────────────────────┘"
  380.                                 SPrintLn 
  381.                                 INTEGER003 = Time()
  382.                                 While (Time() - INTEGER003 <= 6) Do
  383.                                     Sound 700
  384.                                     Delay 2
  385.                                     Sound 300
  386.                                     Delay 2
  387.                                 EndWhile
  388.                                 Sound 0
  389.                                 MPrintLn 
  390.                                 Goto LABEL010
  391.                             Endif
  392.                             Delay 15
  393.                             :LABEL010
  394.                             WORD004 = 31
  395.                             Gosub LABEL127
  396.                             If (BOOLEAN027) DispStr STRING032
  397.                             If (BOOLEAN006) Then
  398.                                 Gosub LABEL132
  399.                                 Bye
  400.                                 Goto LABEL011
  401.                             Endif
  402.                             Goto LABEL131
  403.                         Endif
  404.                         :LABEL011
  405.                         PrintLn 
  406.                         Gosub LABEL085
  407.                         WORD004 = 70
  408.                         Gosub LABEL127
  409.                         If (BOOLEAN027) DispStr STRING032
  410.                         If (BOOLEAN018 && !TBOOLEAN025(2)) Then
  411.                             If (TBOOLEAN025(3)) Then
  412.                                 WORD004 = 3
  413.                                 Gosub LABEL127
  414.                                 If (BOOLEAN027) DispStr STRING032
  415.                                 OpText STRING031
  416.                                 WORD004 = 55
  417.                                 Gosub LABEL127
  418.                                 If (BOOLEAN027) DispStr STRING032
  419.                                 OpText String(DATE003)
  420.                                 WORD004 = 56
  421.                                 Gosub LABEL127
  422.                                 If (BOOLEAN027) DispStr STRING032
  423.                                 OpText String(TIME001)
  424.                                 WORD004 = 57
  425.                                 Gosub LABEL127
  426.                                 If (BOOLEAN027) DispStr STRING032
  427.                                 Newline
  428.                                 WORD004 = 31
  429.                                 Gosub LABEL127
  430.                                 If (BOOLEAN027) DispStr STRING032
  431.                                 Newline
  432.                                 Wait
  433.                                 Goto LABEL012
  434.                             Endif
  435.                             WORD004 = 3
  436.                             Gosub LABEL127
  437.                             If (BOOLEAN027) DispStr STRING032
  438.                             PrintLn 
  439.                             WORD004 = 31
  440.                             Gosub LABEL127
  441.                             If (BOOLEAN027) DispStr STRING032
  442.                             Newline
  443.                             Wait
  444.                             :LABEL012
  445.                             Goto LABEL131
  446.                         Endif
  447.                         If (BOOLEAN017 && BOOLEAN012) Then
  448.                             BYTE019 = 2
  449.                             BOOLEAN022 = 0
  450.                             Gosub LABEL111
  451.                             If (BOOLEAN022) Then
  452.                                 WORD004 = 48
  453.                                 Gosub LABEL127
  454.                                 If (BOOLEAN027) Log STRING032, 0
  455.                                 WORD004 = 28
  456.                                 Gosub LABEL127
  457.                                 If (BOOLEAN027) DispStr STRING032
  458.                                 If (!OnLocal() || BOOLEAN004) Then
  459.                                     WORD004 = 21
  460.                                     Gosub LABEL127
  461.                                     If (BOOLEAN027) DispStr STRING032
  462.                                     If (BYTE007 <> 0) U_Sec = BYTE007
  463.                                     If (BYTE008 <> 0) U_ExpSec = BYTE008
  464.                                     If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
  465.                                     PutUser
  466.                                 Endif
  467.                                 Delay 15
  468.                                 Goto LABEL131
  469.                             Endif
  470.                             If (BOOLEAN014) Then
  471.                                 OpText String(BYTE007)
  472.                                 WORD004 = 4
  473.                                 Gosub LABEL127
  474.                                 If (BOOLEAN027) DispStr STRING032
  475.                                 If (!OnLocal() || BOOLEAN004) Then
  476.                                     WORD004 = 21
  477.                                     Gosub LABEL127
  478.                                     If (BOOLEAN027) DispStr STRING032
  479.                                     If (BYTE007 <> 0) U_Sec = BYTE007
  480.                                     If (BYTE008 <> 0) U_ExpSec = BYTE008
  481.                                     If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
  482.                                     PutUser
  483.                                 Endif
  484.                                 Delay 15
  485.                                 Goto LABEL131
  486.                             Endif
  487.                         Else
  488.                             If (BOOLEAN014) Goto LABEL013
  489.                             BYTE019 = 2
  490.                             BOOLEAN022 = 0
  491.                             Gosub LABEL111
  492.                             If (BOOLEAN022) Then
  493.                                 OpText String(BYTE007)
  494.                                 WORD004 = 48
  495.                                 Gosub LABEL127
  496.                                 If (BOOLEAN027) Log STRING032, 0
  497.                                 WORD004 = 28
  498.                                 Gosub LABEL127
  499.                                 If (BOOLEAN027) DispStr STRING032
  500.                                 If (!OnLocal() || BOOLEAN004) Then
  501.                                     WORD004 = 21
  502.                                     Gosub LABEL127
  503.                                     If (BOOLEAN027) DispStr STRING032
  504.                                     If (BYTE007 <> 0) U_Sec = BYTE007
  505.                                     If (BYTE008 <> 0) U_ExpSec = BYTE008
  506.                                     If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
  507.                                     PutUser
  508.                                 Endif
  509.                                 Delay 15
  510.                                 Goto LABEL131
  511.                             Endif
  512.                             Goto LABEL014
  513.                             :LABEL013
  514.                             If (BOOLEAN014) Then
  515.                                 OpText String(BYTE007)
  516.                                 WORD004 = 4
  517.                                 Gosub LABEL127
  518.                                 If (BOOLEAN027) DispStr STRING032
  519.                                 WORD004 = 5
  520.                                 Gosub LABEL127
  521.                                 If (BOOLEAN027) DispStr STRING032
  522.                                 If (!OnLocal() || BOOLEAN004) Then
  523.                                     WORD004 = 21
  524.                                     Gosub LABEL127
  525.                                     If (BOOLEAN027) DispStr STRING032
  526.                                     If (BYTE007 <> 0) U_Sec = BYTE007
  527.                                     If (BYTE008 <> 0) U_ExpSec = BYTE008
  528.                                     If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
  529.                                     PutUser
  530.                                 Endif
  531.                                 PrintLn 
  532.                                 Wait
  533.                                 Goto LABEL131
  534.                             Endif
  535.                         Endif
  536.                         :LABEL014
  537.                     Else
  538.                         Goto LABEL005
  539.                         :LABEL015
  540.                         Goto LABEL131
  541.                     Endif
  542.                     Color 7
  543.                     If (BOOLEAN012 && BOOLEAN017) Then
  544.                         OpText STRING021 + "-" + STRING006 + "-" + STRING007
  545.                     Else
  546.                         OpText STRING010 + "-" + STRING011 + "-" + STRING023
  547.                     Endif
  548.                     DispFile PPEPath() + "LBKCAL", 1 + 4
  549.                     WORD004 = 36
  550.                     Gosub LABEL127
  551.                     Delay 50
  552.                     If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  553.                     If (BOOLEAN012 && BOOLEAN017) Then
  554.                         STRING008 = "(" + STRING022 + ") " + STRING021 + "-" + STRING006 + "-" + STRING007
  555.                     Else
  556.                         STRING008 = "(" + STRING022 + ") " + STRING010 + "-" + STRING011 + "-" + STRING023
  557.                     Endif
  558.                     WrUNet PcbNode(), UN_Stat(), UN_Name(), "Undergoing callback...", STRING008, ""
  559.                     Gosub LABEL128
  560.                     BOOLEAN020 = 0
  561.                     BYTE004 = 0
  562.                     If (BOOLEAN034) Then
  563.                         If (Exist(PPEPath() + "LBKTRACE.LOG")) Then
  564.                             FAppend 1, PPEPath() + "LBKTRACE.LOG", 1, 2
  565.                             FPutLn 1, "----------------------------------------------------------------------------"
  566.                             FPutLn 1, "Logged entry on " + String(Date()) + " at " + String(Time())
  567.                             Goto LABEL016
  568.                         Endif
  569.                         FCreate 1, PPEPath() + "LBKTRACE.LOG", 1, 2
  570.                         FPutLn 1, "LoopBack v5.05   Modem Tracing Log"
  571.                         FPutLn 1, "Created on " + String(Date()) + " at " + String(Time())
  572.                         FPutLn 1, "----------------------------------------------------------------------------"
  573.                         FPutLn 1
  574.                         FPutLn 1, "Logged entry on " + String(Date()) + " at " + String(Time())
  575.                     Endif
  576.                     :LABEL016
  577.                     If (OnLocal()) Goto LABEL029
  578.                     CdChkOff
  579.                     While (!BOOLEAN020 && (BYTE004 < BYTE003)) Do
  580.                         KeyFlush
  581.                         Color 7
  582.                         DtrOff
  583.                         BOOLEAN002 = 0
  584.                         INTEGER006 = 0
  585.                         SPrint "1H"
  586.                         SPrint "Yes"
  587.                         Color 7
  588.                         While (!BOOLEAN002 && (INTEGER006 < BYTE012)) Do
  589.                             Inc INTEGER006
  590.                             INTEGER010 = 0
  591.                             While (INTEGER010 <= WORD003) Do
  592.                                 Inc INTEGER010
  593.                                 Delay 1
  594.                                 If (CDOn()) Then
  595.                                     BOOLEAN002 = 0
  596.                                     Continue
  597.                                 Endif
  598.                                 BOOLEAN002 = 1
  599.                                 INTEGER010 = WORD003 + 1
  600.                             EndWhile
  601.                         EndWhile
  602.                         Delay 65
  603.                         If (BYTE004 >= 1) Delay 30
  604.                         SPrint "1H"
  605.                         SPrint "No "
  606.                         If (BOOLEAN002) Goto LABEL017
  607.                         SPrint "15H"
  608.                         SPrint "Hangup failed...  Dropping carrier...                 "
  609.                         Delay 4
  610.                         Gosub LABEL132
  611.                         Bye
  612.                         :LABEL017
  613.                         Delay 7
  614.                         SPrint "64H"
  615.                         SPrint "NONE  "
  616.                         SPrint "64H"
  617.                         SPrint "NONE  "
  618.                         SPrint "15H"
  619.                         DtrOn
  620.                         KeyFlush
  621.                         BOOLEAN019 = 0
  622.                         If ((STRING026 <> "") && (STRING026 <> "NONE")) Then
  623.                             SPrint "Initializing modem...                                 "
  624.                             Delay 4
  625.                             STRING026 = Trim(Upper(STRING026), " ")
  626.                             SendModem STRING026 + Chr(13)
  627.                             SPrint "1H"
  628.                             SPrint "Yes"
  629.                             STRING008 = ""
  630.                             INTEGER006 = 0
  631.                             While ((Len(STRING008) < 2) && (INTEGER006 <= 100)) Do
  632.                                 STRING008 = STRING008 + Chr(MGetByte())
  633.                                 STRING008 = Strip(Strip(Strip(STRING008, Chr(10)), Chr(13)), " ")
  634.                                 Delay 1
  635.                                 Inc INTEGER006
  636.                             EndWhile
  637.                             If (Mid(STRING008, 1, 2) == "OK") Then
  638.                                 BOOLEAN019 = 1
  639.                                 Goto LABEL018
  640.                             Endif
  641.                             BOOLEAN019 = 0
  642.                             :LABEL018
  643.                             SPrint "1H"
  644.                             SPrint "No "
  645.                             If (BOOLEAN019) Goto LABEL019
  646.                             SPrint "15H"
  647.                             SPrint "Error occurred during initialization...  Halting...   "
  648.                             WORD004 = 37
  649.                             Gosub LABEL127
  650.                             If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  651.                             Delay 10
  652.                             KeyFlush
  653.                             Gosub LABEL132
  654.                             Bye
  655.                             :LABEL019
  656.                             SPrint Chr(27) + "15H"
  657.                             Delay 5
  658.                             KeyFlush
  659.                             Delay 5
  660.                         Endif
  661.                         STRING008 = ""
  662.                         For INTEGER006 = 0 To 5
  663.                             If (TBYTE021(INTEGER006) == 1) Then
  664.                                 STRING008 = STRING008 + STRING018
  665.                                 Continue
  666.                             Endif
  667.                             If (TBYTE021(INTEGER006) == 2) Then
  668.                                 STRING008 = STRING008 + STRING027
  669.                                 Continue
  670.                             Endif
  671.                             If (TBYTE021(INTEGER006) == 3) Then
  672.                                 If (BOOLEAN017 && BOOLEAN012) Then
  673.                                     STRING008 = STRING008 + STRING021
  674.                                     Goto LABEL020
  675.                                 Endif
  676.                                 STRING008 = STRING008 + STRING010
  677.                                 :LABEL020
  678.                                 Continue
  679.                             Endif
  680.                             If (TBYTE021(INTEGER006) == 4) Then
  681.                                 If (BOOLEAN017 && BOOLEAN012) Then
  682.                                     STRING008 = STRING008 + STRING006
  683.                                     Goto LABEL021
  684.                                 Endif
  685.                                 STRING008 = STRING008 + STRING011
  686.                                 :LABEL021
  687.                                 Continue
  688.                             Endif
  689.                             If (TBYTE021(INTEGER006) == 5) Then
  690.                                 If (BOOLEAN017 && BOOLEAN012) Then
  691.                                     STRING008 = STRING008 + STRING007
  692.                                     Goto LABEL022
  693.                                 Endif
  694.                                 STRING008 = STRING008 + STRING023
  695.                                 :LABEL022
  696.                                 Continue
  697.                             Endif
  698.                             If (TBYTE021(INTEGER006) == 6) Then
  699.                                 STRING008 = STRING008 + STRING019
  700.                             Endif
  701.                         Next
  702.                         STRING008 = Upper(Strip(STRING008, " "))
  703.                         If (STRING008 == "") Then
  704.                             SPrint "40H"
  705.                             SPrint "Dialing template does not contain dialing info!      "
  706.                             Delay 10
  707.                             Log "LoopBack could not dial! No info defined!", 0
  708.                             Goto LABEL132
  709.                             Bye
  710.                         Endif
  711.                         If (BYTE004 == 0) Then
  712.                             SPrint Left("Dialing " + STRING008 + Space(55), 55)
  713.                             Delay 9
  714.                             WORD004 = 63
  715.                             Gosub LABEL127
  716.                             Log STRING032 + String(Time()), 0
  717.                             Delay 5
  718.                         Endif
  719.                         Inc BYTE004
  720.                         If (BYTE004 > 1) Then
  721.                             SPrint "15H"
  722.                             SPrint Left("Redialing " + STRING008 + Space(55), 55)
  723.                             Delay 9
  724.                             SPrint "40H"
  725.                             SPrint "Try #" + String(BYTE004) + "                     "
  726.                             WORD004 = 38
  727.                             Gosub LABEL127
  728.                             If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  729.                             Delay 4
  730.                         Endif
  731.                         WORD004 = 49
  732.                         Gosub LABEL127
  733.                         Log STRING032 + Upper(STRING020) + STRING008, 0
  734.                         Delay 9
  735.                         KeyFlush
  736.                         SendModem Upper(STRING020) + STRING008 + Chr(13)
  737.                         Delay 9
  738.                         WORD001 = 0
  739.                         SPrint "1H"
  740.                         SPrint "Yes"
  741.                         Delay 54
  742.                         SPrint "1H"
  743.                         SPrint "No "
  744.                         SPrint "15H"
  745.                         SPrint "Waiting for connection...  Countdown:                "
  746.                         SPrint "53H"
  747.                         SPrint String(WORD002)
  748.                         STRING009 = ""
  749.                         STRING012 = ""
  750.                         While (WORD001 <= WORD002) Do
  751.                             SPrint ""
  752.                             STRING008 = STRING008 + Chr(MGetByte())
  753.                             STRING008 = Upper(Trim(STRING008, " "))
  754.                             STRING012 = KInkey()
  755.                             If (STRING012 == Chr(27)) Then
  756.                                 SaveScrn
  757.                                 SPrint "15H"
  758.                                 SPrint "(L)ockout caller, (E)xit LoopBack, (C)ancel operation? "
  759.                                 STRING012 = ""
  760.                                 While (STRING012 == "") Do
  761.                                     STRING012 = Upper(KInkey())
  762.                                     If (STRING012 == "L") Then
  763.                                         U_Sec = 0
  764.                                         Color DefColor()
  765.                                         Cls
  766.                                         PutUser
  767.                                         Gosub LABEL132
  768.                                         Bye
  769.                                         Continue
  770.                                     Endif
  771.                                     If (STRING012 == "E") Then
  772.                                         Gosub LABEL132
  773.                                         Bye
  774.                                         Continue
  775.                                     Endif
  776.                                     If (STRING012 == "C") Then
  777.                                         RestScrn
  778.                                         KbdFlush
  779.                                         SPrint "15H"
  780.                                         SPrint "Waiting for connection...  Countdown:                "
  781.                                         Continue
  782.                                     Endif
  783.                                     STRING012 = ""
  784.                                 EndWhile
  785.                                 STRING012 = ""
  786.                             Endif
  787.                             SPrint "53H"
  788.                             SPrint String(WORD002 - WORD001)
  789.                             INTEGER007 = Len(String(WORD002)) - Len(String(WORD002 - WORD001))
  790.                             SPrint Space(INTEGER007)
  791.                             STRING008 = Strip(Strip(Strip(STRING008, Chr(10)), Chr(7)), Chr(0))
  792.                             If ((Len(STRING008) > 3) && (Mid(STRING008, Len(STRING008), 1) == Chr(13))) Then
  793.                                 If (BOOLEAN034) FPutLn 1, "Modem Result Before Format = (" + STRING008 + ")"
  794.                                 STRING008 = Strip(STRING008, Chr(13))
  795.                                 STRING009 = STRING009 + STRING008
  796.                                 STRING008 = Strip(STRING008, " ")
  797.                                 If (BOOLEAN034) FPutLn 1, "Modem Result After Format = (" + STRING008 + ")"
  798.                                 SPrint "15H"
  799.                                 If (InStr(STRING008, "BUSY")) Then
  800.                                     SPrint "Number is Busy...                                     "
  801.                                     KeyFlush
  802.                                     Delay 4
  803.                                     BOOLEAN020 = 0
  804.                                     WORD001 = WORD002 + 1
  805.                                     If (BOOLEAN034) FPutLn 1, "Busy number..."
  806.                                     Goto LABEL028
  807.                                 Endif
  808.                                 If (InStr(STRING008, "RING")) Then
  809.                                     STRING008 = ""
  810.                                     Continue
  811.                                     If (BOOLEAN034) FPutLn 1, "Ring or Ringing..."
  812.                                     Goto LABEL028
  813.                                 Endif
  814.                                 If (InStr(STRING008, "NODIALTONE")) Then
  815.                                     SPrint "No Dialtone was Detected...                           "
  816.                                     KeyFlush
  817.                                     Delay 4
  818.                                     BOOLEAN020 = 0
  819.                                     WORD001 = WORD002 + 1
  820.                                     If (BOOLEAN034) FPutLn 1, "No dialtone..."
  821.                                     Goto LABEL028
  822.                                 Endif
  823.                                 If (InStr(STRING008, "NOCARRIER")) Then
  824.                                     SPrint "No carrier detected...                                "
  825.                                     KeyFlush
  826.                                     Delay 4
  827.                                     BOOLEAN020 = 0
  828.                                     WORD001 = WORD002 + 1
  829.                                     If (BOOLEAN034) FPutLn 1, "No carrier..."
  830.                                     Goto LABEL028
  831.                                 Endif
  832.                                 If (InStr(STRING008, "CONN")) Then
  833.                                     WORD001 = 0
  834.                                     BOOLEAN026 = 0
  835.                                     SPrint "Link established... Pausing                           "
  836.                                     Delay 5
  837.                                     If (BOOLEAN034) Then
  838.                                         FPutLn 1, "Connected..."
  839.                                         FPutLn 1, "Bytes left in input buffer : ", InBytes()
  840.                                         FPutLn 1, "Bytes left in output buffer: ", OutBytes()
  841.                                     Endif
  842.                                     If (InBytes() > 0) Then
  843.                                         STRING008 = ""
  844.                                         While (InBytes() > 0) Do
  845.                                             If (InBytes() >= 10) Then
  846.                                                 SPrint "15H"
  847.                                                 SPrint "Clearing input buffer...                              "
  848.                                                 SPrint "42H"
  849.                                                 SPrint String(InBytes()) + " bytes pending"
  850.                                             Endif
  851.                                             STRING008 = STRING008 + MGetByte()
  852.                                         EndWhile
  853.                                     Endif
  854.                                     If (BOOLEAN034) FPutLn 1, "Buffer data: (" + STRING008 + ")"
  855.                                     FClose 1
  856.                                     SPrint "64H"
  857.                                     SPrint Left(Trim(STRING029, " ") + Space(8), 8)
  858.                                     SPrint "64H"
  859.                                     SPrint Left(String(Carrier()) + Space(8), 8)
  860.                                     WrUNet PcbNode(), UN_Stat(), UN_Name(), "Undergoing verification...", "CONNECT : " + Trim(STRING029, " ") + "  CARRIER : " + String(Carrier()), ""
  861.                                     :LABEL023
  862.                                     If (BOOLEAN026) Goto LABEL025
  863.                                     SPrint "44H"
  864.                                     SPrint String(WORD005 - WORD001)
  865.                                     INTEGER007 = Len(String(WORD005)) - Len(String(WORD005 - WORD001))
  866.                                     SPrint Space(INTEGER007)
  867.                                     If (WORD001 >= WORD005) Then
  868.                                         BOOLEAN026 = 1
  869.                                         Goto LABEL024
  870.                                     Endif
  871.                                     BOOLEAN026 = 0
  872.                                     :LABEL024
  873.                                     Delay 1
  874.                                     Inc WORD001
  875.                                     Goto LABEL023
  876.                                     :LABEL025
  877.                                     WORD004 = 39
  878.                                     Gosub LABEL127
  879.                                     If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  880.                                     SPrint "1H"
  881.                                     SPrint "Yes"
  882.                                     Delay 40
  883.                                     If (Carrier() < 4800) Delay 30
  884.                                     SPrint "1H"
  885.                                     SPrint "No "
  886.                                     BOOLEAN020 = 1
  887.                                     If (BOOLEAN008) Goto LABEL026
  888.                                     Gosub LABEL064
  889.                                     CdChkOn
  890.                                     KbdChkOn
  891.                                     Gosub LABEL065
  892.                                     Gosub LABEL032
  893.                                     Goto LABEL131
  894.                                     Goto LABEL027
  895.                                     :LABEL026
  896.                                     Gosub LABEL113
  897.                                     CdChkOn
  898.                                     KbdChkOn
  899.                                     Gosub LABEL032
  900.                                     Goto LABEL131
  901.                                     :LABEL027
  902.                                     Goto LABEL028
  903.                                 Endif
  904.                                 STRING008 = ""
  905.                             Endif
  906.                             :LABEL028
  907.                             Delay 1
  908.                             Inc WORD001
  909.                         EndWhile
  910.                     EndWhile
  911.                     If (!BOOLEAN020 && (BYTE004 >= BYTE003)) Then
  912.                         Gosub LABEL132
  913.                         Bye
  914.                     Endif
  915.                     Goto LABEL031
  916.                     :LABEL029
  917.                     SPrint "15H"
  918.                     SPrint "Local caller detected...  Press any key to continue  "
  919.                     While (KInkey() == "") Do
  920.                     EndWhile
  921.                     If (BOOLEAN008) Goto LABEL030
  922.                     Gosub LABEL064
  923.                     CdChkOn
  924.                     KbdChkOn
  925.                     Gosub LABEL065
  926.                     Gosub LABEL032
  927.                     Goto LABEL131
  928.                     Goto LABEL031
  929.                     :LABEL030
  930.                     Gosub LABEL113
  931.                     CdChkOn
  932.                     KbdChkOn
  933.                     Goto LABEL131
  934.                     :LABEL031
  935.                     Goto LABEL131
  936.                     :LABEL032
  937.                     If ((BYTE020 <> 0) || (Trim(TSTRING030(11), " ") <> "")) Then
  938.                         WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Executing external extension...", ""
  939.                         WORD004 = 67
  940.                         Gosub LABEL127
  941.                         If (BOOLEAN027) DispStr STRING032
  942.                         If (BYTE020 == 1) Then
  943.                             SaveScrn
  944.                             Call TSTRING030(11)
  945.                             RestScrn
  946.                             Goto LABEL033
  947.                         Endif
  948.                         If (BYTE020 == 2) Then
  949.                             WrUSys
  950.                             Shell 1, INTEGER006, TSTRING030(11), ""
  951.                             RdUSys
  952.                             If (Exist(PPEPath() + "USERS.SYS")) Delete PPEPath() + "USERS.SYS"
  953.                         Endif
  954.                         :LABEL033
  955.                         WORD004 = 68
  956.                         Gosub LABEL127
  957.                         If (BOOLEAN027) Log STRING032 + TSTRING030(11) , 0
  958.                     Endif
  959.                     WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Upgrading user...", ""
  960.                     If (EvtTimeAdj()) Goto LABEL034
  961.                     If (BOOLEAN016) Then
  962.                         AdjTime INTEGER005
  963.                     Else
  964.                         AdjTime INTEGER005 - MinLeft()
  965.                     Endif
  966.                     Goto LABEL035
  967.                     :LABEL034
  968.                     WORD004 = 40
  969.                     Gosub LABEL127
  970.                     If (BOOLEAN027) Log STRING032, 0
  971.                     WORD004 = 34
  972.                     Gosub LABEL127
  973.                     If (BOOLEAN027) DispStr STRING032
  974.                     :LABEL035
  975.                     If (BOOLEAN008) Return
  976.                     If (!OnLocal() || BOOLEAN004) Then
  977.                         STRING031 = Upper(U_Name())
  978.                         DATE003 = Date()
  979.                         TIME001 = Time()
  980.                         If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
  981.                             FOpen 1, PPEPath() + "LBKSTATS.DAT", 2, 2
  982.                             If (Ferr(1)) Then
  983.                                 BOOLEAN019 = 1
  984.                                 Goto LABEL036
  985.                             Endif
  986.                             BOOLEAN019 = 0
  987.                             :LABEL036
  988.                             If (BOOLEAN019) Then
  989.                                 OpText "LBKSTATS.DAT"
  990.                                 WORD004 = 9
  991.                                 Gosub LABEL127
  992.                                 If (BOOLEAN027) DispStr STRING032
  993.                                 WORD004 = 8
  994.                                 Gosub LABEL127
  995.                                 If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
  996.                                 WORD004 = 10
  997.                                 Gosub LABEL127
  998.                                 If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
  999.                                     Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
  1000.                                     Goto LABEL037
  1001.                                 Endif
  1002.                                 Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
  1003.                                 :LABEL037
  1004.                                 FClose 1
  1005.                                 Return
  1006.                             Endif
  1007.                             FSeek 1, 47, 0
  1008.                             FRead 1, INTEGER006, 4
  1009.                             Inc INTEGER006
  1010.                             FSeek 1, -4, 1
  1011.                             FWrite 1, INTEGER006, 4
  1012.                             FSeek 1, 39, 1
  1013.                             FRead 1, STRING008, 25
  1014.                             FRead 1, DATE005, 2
  1015.                             FRead 1, TIME003, 4
  1016.                             For INTEGER006 = 1 To 4
  1017.                                 FSeek 1, -62, 1
  1018.                                 FWrite 1, STRING008, 25
  1019.                                 FWrite 1, DATE005, 2
  1020.                                 FWrite 1, TIME003, 4
  1021.                                 FSeek 1, 31, 1
  1022.                                 FRead 1, STRING008, 25
  1023.                                 FRead 1, DATE005, 2
  1024.                                 FRead 1, TIME003, 4
  1025.                             Next
  1026.                             FSeek 1, -62, 1
  1027.                             FWrite 1, STRING008, 25
  1028.                             FWrite 1, DATE005, 2
  1029.                             FWrite 1, TIME003, 4
  1030.                             FWrite 1, STRING031, 25
  1031.                             FWrite 1, DATE003, 2
  1032.                             FWrite 1, TIME001, 4
  1033.                             Goto LABEL040
  1034.                         Endif
  1035.                         FCreate 1, PPEPath() + "LBKSTATS.DAT", 2, 2
  1036.                         If (Ferr(1)) Then
  1037.                             BOOLEAN019 = 1
  1038.                             Goto LABEL038
  1039.                         Endif
  1040.                         BOOLEAN019 = 0
  1041.                         :LABEL038
  1042.                         If (BOOLEAN019) Then
  1043.                             OpText "LBKSTATS.DAT"
  1044.                             WORD004 = 9
  1045.                             Gosub LABEL127
  1046.                             If (BOOLEAN027) DispStr STRING032
  1047.                             WORD004 = 8
  1048.                             Gosub LABEL127
  1049.                             If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
  1050.                             WORD004 = 10
  1051.                             Gosub LABEL127
  1052.                             If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
  1053.                                 Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
  1054.                                 Goto LABEL039
  1055.                             Endif
  1056.                             Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
  1057.                             :LABEL039
  1058.                             FClose 1
  1059.                             Return
  1060.                         Endif
  1061.                         FSeek 1, 0, 0
  1062.                         FWrite 1, " LoopBack v5.05 Stat Control File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 47
  1063.                         FWrite 1, 1, 4
  1064.                         FWrite 1, 0, 4
  1065.                         FWrite 1, 0, 4
  1066.                         For INTEGER006 = 1 To 5
  1067.                             FWrite 1, "N/A", 25
  1068.                             FWrite 1, 0, 2
  1069.                             FWrite 1, 0, 4
  1070.                         Next
  1071.                         FWrite 1, Upper(U_Name()), 25
  1072.                         FWrite 1, Date(), 2
  1073.                         FWrite 1, Time(), 4
  1074.                         FWrite 1, Space(20), 20
  1075.                         :LABEL040
  1076.                         FClose 1
  1077.                         If (Exist(TSTRING030(0))) Then
  1078.                             INTEGER006 = (FileInf(TSTRING030(0), 4) - 37) / 59
  1079.                             BOOLEAN026 = 1
  1080.                             Goto LABEL041
  1081.                         Endif
  1082.                         INTEGER006 = 0
  1083.                         BOOLEAN026 = 0
  1084.                         :LABEL041
  1085.                         FOpen 1, TSTRING030(0), 1, 2
  1086.                         If (Ferr(1)) Then
  1087.                             BOOLEAN019 = 1
  1088.                             Goto LABEL042
  1089.                         Endif
  1090.                         BOOLEAN019 = 0
  1091.                         :LABEL042
  1092.                         If (BOOLEAN019) Then
  1093.                             OpText TSTRING030(0)
  1094.                             WORD004 = 9
  1095.                             Gosub LABEL127
  1096.                             If (BOOLEAN027) DispStr STRING032
  1097.                             WORD004 = 8
  1098.                             Gosub LABEL127
  1099.                             If (BOOLEAN027) Log STRING032 + TSTRING030(0) , 0
  1100.                             WORD004 = 10
  1101.                             Gosub LABEL127
  1102.                             If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
  1103.                                 Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
  1104.                                 Goto LABEL043
  1105.                             Endif
  1106.                             Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
  1107.                             :LABEL043
  1108.                             FClose 1
  1109.                             Return
  1110.                         Endif
  1111.                         If (Exist(PPEPath() + "TRASH.IDX")) Then
  1112.                             FOpen 2, PPEPath() + "TRASH.IDX", 1, 2
  1113.                             If (Ferr(2)) Then
  1114.                                 BOOLEAN019 = 1
  1115.                                 Goto LABEL044
  1116.                             Endif
  1117.                             BOOLEAN019 = 0
  1118.                             :LABEL044
  1119.                             If (BOOLEAN019) Then
  1120.                                 OpText PPEPath() + "TRASH.IDX"
  1121.                                 WORD004 = 9
  1122.                                 Gosub LABEL127
  1123.                                 If (BOOLEAN027) DispStr STRING032
  1124.                                 WORD004 = 8
  1125.                                 Gosub LABEL127
  1126.                                 If (BOOLEAN027) Log STRING032 + PPEPath() + "TRASH.IDX", 0
  1127.                                 WORD004 = 10
  1128.                                 Gosub LABEL127
  1129.                                 If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
  1130.                                     Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
  1131.                                     Goto LABEL045
  1132.                                 Endif
  1133.                                 Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
  1134.                                 :LABEL045
  1135.                                 FClose 1
  1136.                                 FClose 2
  1137.                                 Return
  1138.                             Endif
  1139.                             FSeek 2, 0, 2
  1140.                             Goto LABEL048
  1141.                         Endif
  1142.                         FCreate 2, PPEPath() + "TRASH.IDX", 1, 2
  1143.                         If (Ferr(2)) Then
  1144.                             BOOLEAN019 = 1
  1145.                             Goto LABEL046
  1146.                         Endif
  1147.                         BOOLEAN019 = 0
  1148.                         :LABEL046
  1149.                         If (BOOLEAN019) Then
  1150.                             OpText PPEPath() + "TRASH.IDX"
  1151.                             WORD004 = 9
  1152.                             Gosub LABEL127
  1153.                             If (BOOLEAN027) DispStr STRING032
  1154.                             WORD004 = 8
  1155.                             Gosub LABEL127
  1156.                             If (BOOLEAN027) Log STRING032 + PPEPath() + "TRASH.IDX", 0
  1157.                             WORD004 = 10
  1158.                             Gosub LABEL127
  1159.                             If ((BOOLEAN017 && BOOLEAN012) && BOOLEAN027) Then
  1160.                                 Log STRING021 + STRING006 + STRING007 + " " + STRING032, 0
  1161.                                 Goto LABEL047
  1162.                             Endif
  1163.                             Log STRING010 + STRING011 + STRING023 + " " + STRING032, 0
  1164.                             :LABEL047
  1165.                             FClose 1
  1166.                             FClose 2
  1167.                             Return
  1168.                         Endif
  1169.                         FSeek 2, 0, 0
  1170.                         FWrite 2, " LoopBack 5.05 Trash File Index " + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1171.                         :LABEL048
  1172.                         If (BOOLEAN026) Then
  1173.                             FSeek 1, 0, 2
  1174.                             Goto LABEL049
  1175.                         Endif
  1176.                         FSeek 1, 0, 0
  1177.                         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1178.                         :LABEL049
  1179.                         FWrite 1, 0, 1
  1180.                         Inc INTEGER006
  1181.                         If (BOOLEAN017 && BOOLEAN012) Then
  1182.                             FWrite 1, 1, 1
  1183.                             FWrite 1, STRING021, 3
  1184.                             FWrite 1, STRING006, 4
  1185.                             FWrite 1, STRING007, 8
  1186.                             STRING008 = Upper(U_Name() + Space(25 - Len(U_Name())))
  1187.                             FWrite 1, STRING008, 25
  1188.                             FWrite 1, Date(), 2
  1189.                             FWrite 1, Time(), 4
  1190.                             INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10) + S2I(STRING007, 10)
  1191.                             Goto LABEL050
  1192.                         Endif
  1193.                         FWrite 1, 0, 1
  1194.                         FWrite 1, STRING010, 3
  1195.                         FWrite 1, STRING011, 4
  1196.                         FWrite 1, STRING023, 8
  1197.                         STRING008 = Upper(U_Name())
  1198.                         STRING008 = STRING008 + Space(25 - Len(U_Name()))
  1199.                         FWrite 1, STRING008, 25
  1200.                         FWrite 1, Date(), 2
  1201.                         FWrite 1, Time(), 4
  1202.                         INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10) + S2I(STRING023, 10)
  1203.                         :LABEL050
  1204.                         FWrite 2, INTEGER006, 4
  1205.                         FWrite 2, INTEGER003, 4
  1206.                         FWrite 1, Space(11), 11
  1207.                         FClose 1
  1208.                         FClose 2
  1209.                         WORD004 = 7
  1210.                         Gosub LABEL127
  1211.                         If (BOOLEAN027) DispStr STRING032
  1212.                         If (BYTE001 <> 0) U_Sec = BYTE001
  1213.                         If ((DATE002 <> 0) || ((DATE002 == 0) && BOOLEAN041)) U_ExpDate = DATE002
  1214.                         If (BYTE002 <> 0) U_ExpSec = BYTE002
  1215.                         If (BOOLEAN007) Then
  1216.                             If (BOOLEAN017 && BOOLEAN012) Then
  1217.                                 U_BDPhone = STRING021 + STRING006 + STRING007
  1218.                                 Goto LABEL051
  1219.                             Endif
  1220.                             U_BDPhone = STRING010 + "-" + STRING011 + "-" + STRING023
  1221.                         Endif
  1222.                         :LABEL051
  1223.                         If ((BYTE011 == 1) || (BYTE011 == 3)) Then
  1224.                             If (TBYTE018(0) == 1) Then
  1225.                                 U_Cmnt1 = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1226.                                 Goto LABEL052
  1227.                             Endif
  1228.                             If (TBYTE018(0) == 2) Then
  1229.                                 U_Cmnt2 = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1230.                                 Goto LABEL052
  1231.                             Endif
  1232.                             If (TBYTE018(0) == 10) Then
  1233.                                 If (Psa(6)) U_Notes(0) = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1234.                                 Goto LABEL052
  1235.                             Endif
  1236.                             If (TBYTE018(0) == 20) Then
  1237.                                 If (Psa(6)) U_Notes(1) = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1238.                                 Goto LABEL052
  1239.                             Endif
  1240.                             If (TBYTE018(0) == 30) Then
  1241.                                 If (Psa(6)) U_Notes(2) = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1242.                                 Goto LABEL052
  1243.                             Endif
  1244.                             If (TBYTE018(0) == 40) Then
  1245.                                 If (Psa(6)) U_Notes(3) = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1246.                                 Goto LABEL052
  1247.                             Endif
  1248.                             If (TBYTE018(0) == 50) Then
  1249.                                 If (Psa(6)) U_Notes(4) = String(Date()) + " " + String(Time()) + " LoopBk v5.05     "
  1250.                             Endif
  1251.                         Endif
  1252.                         :LABEL052
  1253.                         If ((BYTE011 == 2) || (BYTE011 == 3)) Then
  1254.                             If (BOOLEAN017 && BOOLEAN012) Then
  1255.                                 STRING008 = STRING021 + "-" + STRING006 + "-" + STRING007 + "  LoopBk v5.05     "
  1256.                                 Goto LABEL053
  1257.                             Endif
  1258.                             STRING008 = "(" + STRING010 + ")" + " " + STRING011 + "-" + STRING023 + "  LoopBk v5.05     "
  1259.                             :LABEL053
  1260.                             If (TBYTE018(1) == 1) Then
  1261.                                 U_Cmnt1 = STRING008
  1262.                                 Goto LABEL054
  1263.                             Endif
  1264.                             If (TBYTE018(1) == 2) Then
  1265.                                 U_Cmnt2 = STRING008
  1266.                                 Goto LABEL054
  1267.                             Endif
  1268.                             If (TBYTE018(1) == 10) Then
  1269.                                 If (Psa(6)) U_Notes(0) = STRING008
  1270.                                 Goto LABEL054
  1271.                             Endif
  1272.                             If (TBYTE018(1) == 20) Then
  1273.                                 If (Psa(6)) U_Notes(1) = STRING008
  1274.                                 Goto LABEL054
  1275.                             Endif
  1276.                             If (TBYTE018(1) == 30) Then
  1277.                                 If (Psa(6)) U_Notes(2) = STRING008
  1278.                                 Goto LABEL054
  1279.                             Endif
  1280.                             If (TBYTE018(1) == 40) Then
  1281.                                 If (Psa(6)) U_Notes(3) = STRING008
  1282.                                 Goto LABEL054
  1283.                             Endif
  1284.                             If (TBYTE018(1) == 50) Then
  1285.                                 If (Psa(6)) U_Notes(4) = STRING008
  1286.                             Endif
  1287.                         Endif
  1288.                         :LABEL054
  1289.                         PutUser
  1290.                         If (BYTE009 == 1) Then
  1291.                             FCreate 1, TempPath() + "LBK" + String(PcbNode()) + ".WRK", 1, 3
  1292.                             FPutLn 1, "    @X0B" + U_Name() + " @X07 was verified on @X0C" + String(Date()) + " @X07at@X0C " + String(Time())
  1293.                             FPutLn 1, "@X07You may wish to give this user a personal greeting...  His/Her new"
  1294.                             If (BYTE001 <> 0) Then
  1295.                                 STRING008 = String(BYTE001)
  1296.                                 Goto LABEL055
  1297.                             Endif
  1298.                             STRING008 = "N/A"
  1299.                             :LABEL055
  1300.                             FPutLn 1, "security level is @X09" + STRING008 + "@X07."
  1301.                             FPutLn 1
  1302.                             FPutLn 1, "Also, here are the user's address & phone numbers:"
  1303.                             FPutLn 1
  1304.                             If (Psa(3)) Goto LABEL056
  1305.                             FPutLn 1, "@X09Address PSA not installed..."
  1306.                             FPutLn 1
  1307.                             Goto LABEL057
  1308.                             :LABEL056
  1309.                             FPutLn 1, "@X07Address Line 1: @X09" + U_Addr(0)
  1310.                             FPutLn 1, "@X07Address Line 2: @X09" + U_Addr(1)
  1311.                             FPutLn 1, "@X07City: @X09" + U_Addr(2) + "  @X07State: @X09" + U_Addr(3) + "  @X07Zip: @X09" + U_Addr(4)
  1312.                             FPutLn 1, "@X07Country: @X09" + U_Addr(5)
  1313.                             FPutLn 1
  1314.                             :LABEL057
  1315.                             FPutLn 1, "@X07VOICE phone: @X0E" + U_HVPhone
  1316.                             FPutLn 1, "@X07DATA phone : @X0E" + U_BDPhone
  1317.                             FPutLn 1
  1318.                             FPutLn 1, "@X0CThank you for using LoopBack v5.05!"
  1319.                             FPutLn 1
  1320.                             FPutLn 1, "@X0A---"
  1321.                             FPut 1, " # LoopBack v5.05  " + String(FileInf(PPEPath() + PPEName() + ".PPE", 2))
  1322.                             FPutLn 1, " " + String(FileInf(PPEPath() + PPEName() + ".PPE", 3))
  1323.                             FPutLn 1, " # @BOARDNAME@"
  1324.                             FClose 1
  1325.                             Message 0, "SYSOP", U_Name(), "USER VERIFIED SUCCESSFULLY", "R", Date() + 5, 0, 0, TempPath() + "LBK" + String(PcbNode()) + ".WRK"
  1326.                             Delete TempPath() + "LBK" + String(PcbNode()) + ".WRK"
  1327.                             Goto LABEL058
  1328.                         Endif
  1329.                         If (BYTE009 == 2) Then
  1330.                             If ((TSTRING030(4) <> "") && (TSTRING030(4) <> "NONE")) Message 0, "SYSOP", U_Name() , "USER VERIFIED SUCCESSFULLY", "R", Date() + 5, 0, 0, TSTRING030(4)
  1331.                         Endif
  1332.                         :LABEL058
  1333.                         If (BYTE010 == 1) Then
  1334.                             FCreate 1, TempPath() + "LBKU" + String(PcbNode()) + ".WRK", 1, 3
  1335.                             FPutLn 1, "     Thanks for calling @FIRST@!"
  1336.                             FPutLn 1, "We hope you find your stay here enjoyable and we hope you call back"
  1337.                             FPutLn 1, "frequently!  Your first time on here was on @X0B@LOGDATE@ @X07at@X0B @LOGTIME@@X07."
  1338.                             FPutLn 1
  1339.                             FPutLn 1, "@X0A---"
  1340.                             FPut 1, " # LoopBack v5.05  " + String(FileInf(PPEPath() + PPEName() + ".PPE", 2))
  1341.                             FPutLn 1, " " + String(FileInf(PPEPath() + PPEName() + ".PPE", 3))
  1342.                             FPutLn 1, " # @BOARDNAME@"
  1343.                             FClose 1
  1344.                             Message 0, U_Name(), "SYSOP", "WELCOME NEW USER", "R", Date() + 5, 0, 0, TempPath() + "LBKU" + String(PcbNode()) + ".WRK"
  1345.                             Delete TempPath() + "LBKU" + String(PcbNode()) + ".WRK"
  1346.                             Goto LABEL059
  1347.                         Endif
  1348.                         If (BYTE010 == 2) Then
  1349.                             If ((TSTRING030(5) <> "") && (TSTRING030(5) <> "NONE")) Message 0, U_Name() , "SYSOP", "WELCOME NEW USER", "R", Date() + 5, 0, 0, TSTRING030(5)
  1350.                         Endif
  1351.                         :LABEL059
  1352.                         If (EvtTimeAdj()) Goto LABEL061
  1353.                         If (BOOLEAN016) Then
  1354.                             AdjTime INTEGER005
  1355.                             Goto LABEL060
  1356.                         Endif
  1357.                         AdjTime INTEGER005 - MinLeft()
  1358.                         :LABEL060
  1359.                         Goto LABEL062
  1360.                         :LABEL061
  1361.                         WORD004 = 40
  1362.                         Gosub LABEL127
  1363.                         If (BOOLEAN027) Log STRING032, 0
  1364.                         WORD004 = 34
  1365.                         Gosub LABEL127
  1366.                         If (BOOLEAN027) DispStr STRING032
  1367.                         :LABEL062
  1368.                         AdjDBytes INTEGER015
  1369.                         AdjTBytes INTEGER016
  1370.                         AdjTFiles WORD009
  1371.                         WORD004 = 29
  1372.                         Gosub LABEL127
  1373.                         If (BOOLEAN027) DispStr STRING032
  1374.                         If (BOOLEAN013) Then
  1375.                             WORD004 = 42
  1376.                             Gosub LABEL127
  1377.                             If (BOOLEAN027) Log STRING032 + " " + String(Time()) , 0
  1378.                             WORD004 = 30
  1379.                             Gosub LABEL127
  1380.                             If (BOOLEAN027) DispStr STRING032
  1381.                             Delay 15
  1382.                             Gosub LABEL132
  1383.                             Bye
  1384.                             Goto LABEL063
  1385.                         Endif
  1386.                         If ((TSTRING030(10) <> "") && (TSTRING030(10) <> "NONE")) Then
  1387.                             OpText FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9)
  1388.                             WORD004 = 33
  1389.                             Gosub LABEL127
  1390.                             If (BOOLEAN027) DispStr STRING032
  1391.                             Newlines 2
  1392.                             Flag TSTRING030(10)
  1393.                             WORD004 = 41
  1394.                             Gosub LABEL127
  1395.                             If (BOOLEAN027) Log STRING032 + " " + FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9) , 0
  1396.                             Delay 15
  1397.                             If (BOOLEAN029) Download ""
  1398.                         Endif
  1399.                         WORD004 = 31
  1400.                         Gosub LABEL127
  1401.                         If (BOOLEAN027) DispStr STRING032
  1402.                         Delay 5
  1403.                     Endif
  1404.                     :LABEL063
  1405.                     Return
  1406.                     :LABEL064
  1407.                     Delay 18
  1408.                     Color 7
  1409.                     Cls
  1410.                     PrintLn "@X0F                    @X10┌──────────────────────────────────────@X19┐@X07"
  1411.                     PrintLn "@X0F                    @X10│           @X1ALoopBack v5.05             @X19│@X07"
  1412.                     PrintLn "@X0F                    @X10│     @X1FCopyright (c)1996 by PCS         @X19│@X07"
  1413.                     PrintLn "@X0F                    @X10└@X19──────────────────────────────────────┘@X07"
  1414.                     PrintLn 
  1415.                     Print "@X0C@BOARDNAME:80C@"
  1416.                     PrintLn 
  1417.                     PrintLn "@X0C   @X40┌───────────────────────────────────────────────────────────────────────@X4C┐@X07"
  1418.                     Print "@X0F   @X40│ @X4FName : @X4E"
  1419.                     If (TBOOLEAN024(0)) Then
  1420.                         Print "N/A" + Space(24)
  1421.                     Else
  1422.                         Print "@REAL:27@"
  1423.                     Endif
  1424.                     Print "@X4FFrom : @X4E"
  1425.                     If (TBOOLEAN024(3)) Then
  1426.                         Print "N/A" + Space(26)
  1427.                     Else
  1428.                         Print "@CITY:29@"
  1429.                     Endif
  1430.                     PrintLn "@X4C│@X07"
  1431.                     PrintLn "@X0F   @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
  1432.                     Print "@X0F   @X40│ @X4FCurrent Sec. Level   : @X4E@SECURITY:11@"
  1433.                     Print "@X4FUpgraded Security Level    : @X4E"
  1434.                     If (BYTE001 <> 0) Then
  1435.                         STRING008 = String(BYTE001)
  1436.                     Else
  1437.                         STRING008 = "N/A"
  1438.                     Endif
  1439.                     Print Left(STRING008 + Space(7), 7)
  1440.                     PrintLn "@X4C│@X07"
  1441.                     PrintLn "@X0F   @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
  1442.                     Print "@X0F   @X40│ @X4FNew Expiration Date  : @X4E"
  1443.                     If (((DATE002 == 0) && BOOLEAN041) || (DATE002 <> 0)) Then
  1444.                         Print Left(String(DATE002) + Space(11), 11)
  1445.                     Else
  1446.                         Print "N/A" + Space(8)
  1447.                     Endif
  1448.                     Print "@X4FNew Expired Security Level : @X4E"
  1449.                     If (BYTE002 <> 0) Then
  1450.                         STRING008 = String(BYTE002)
  1451.                     Else
  1452.                         STRING008 = "N/A"
  1453.                     Endif
  1454.                     Print Left(STRING008 + Space(7), 7)
  1455.                     PrintLn "@X4C│@X07"
  1456.                     PrintLn "@X0F   @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
  1457.                     Print "@X0F   @X40│ @X4FNumber Connect Tries : @X4E"
  1458.                     Print Left(String(BYTE004) + Space(8), 8)
  1459.                     Print "@X4F   Hangup After Verification  : @X4E"
  1460.                     If (BOOLEAN013) Then
  1461.                         Print "Yes    "
  1462.                     Else
  1463.                         Print "No     "
  1464.                     Endif
  1465.                     PrintLn "@X4C│@X07"
  1466.                     PrintLn "@X0F   @X40│@X4B───────────────────────────────────────────────────────────────────────@X4C│@X07"
  1467.                     PrintLn "@X0F   @X40└@X4C───────────────────────────────────────────────────────────────────────┘@X07"
  1468.                     PrintLn 
  1469.                     While (OutBytes() > 0) Do
  1470.                     EndWhile
  1471.                     Return
  1472.                     :LABEL065
  1473.                     Delay 15
  1474.                     INTEGER006 = 0
  1475.                     STRING008 = ""
  1476.                     BOOLEAN019 = 0
  1477.                     If (TBOOLEAN024(0)) Then
  1478.                         STRING009 = YesChar()
  1479.                         WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying name...", ""
  1480.                         While (!BOOLEAN019 && (INTEGER006 < BYTE005)) Do
  1481.                             If (STRING009 == YesChar()) Inc INTEGER006
  1482.                             WORD004 = 11
  1483.                             Gosub LABEL127
  1484.                             KeyFlush
  1485.                             InputText STRING032, STRING008, 0, 25
  1486.                             STRING008 = Upper(Trim(STRING008, " "))
  1487.                             If (TBOOLEAN024(4) && (STRING008 <> "")) Then
  1488.                                 If (U_Name() == STRING008) Then
  1489.                                     STRING009 = YesChar()
  1490.                                     PrintLn 
  1491.                                     PrintLn "@X07" + U_Name()
  1492.                                     PrintLn U_City
  1493.                                     PrintLn 
  1494.                                     KeyFlush
  1495.                                     PromptStr 598, STRING009, 1, " ", 2 + 4 + 16384
  1496.                                     If (Upper(STRING009) <> YesChar()) Then
  1497.                                         PrintLn 
  1498.                                         Continue
  1499.                                     Endif
  1500.                                     Goto LABEL066
  1501.                                 Endif
  1502.                                 If (U_Alias == STRING008) Then
  1503.                                     STRING009 = YesChar()
  1504.                                     PrintLn 
  1505.                                     PrintLn "@X07" + U_Alias
  1506.                                     PrintLn U_City
  1507.                                     PrintLn 
  1508.                                     KeyFlush
  1509.                                     PromptStr 598, STRING009, 1, " ", 2 + 4 + 16384
  1510.                                     If (Upper(STRING009) <> YesChar()) Then
  1511.                                         PrintLn 
  1512.                                         Continue
  1513.                                     Endif
  1514.                                 Endif
  1515.                             Endif
  1516.                             :LABEL066
  1517.                             If ((U_Name() == STRING008) && (STRING008 <> "")) Then
  1518.                                 PrintLn 
  1519.                                 BOOLEAN019 = 1
  1520.                                 Continue
  1521.                             Endif
  1522.                             If ((U_Alias == STRING008) && (STRING008 <> "")) Then
  1523.                                 PrintLn 
  1524.                                 BOOLEAN019 = 1
  1525.                                 Continue
  1526.                             Endif
  1527.                             OpText String(BYTE005 - INTEGER006)
  1528.                             WORD004 = 12
  1529.                             Gosub LABEL127
  1530.                             If (BOOLEAN027) DispStr STRING032
  1531.                             PrintLn 
  1532.                             BOOLEAN019 = 0
  1533.                         EndWhile
  1534.                         If (BOOLEAN019) Goto LABEL067
  1535.                         WORD004 = 44
  1536.                         Gosub LABEL127
  1537.                         If (BOOLEAN027) Log STRING032, 0
  1538.                         WORD004 = 13
  1539.                         Gosub LABEL127
  1540.                         If (BOOLEAN027) DispStr STRING032
  1541.                         Gosub LABEL132
  1542.                         Bye
  1543.                     Endif
  1544.                     :LABEL067
  1545.                     BOOLEAN019 = 0
  1546.                     INTEGER006 = 0
  1547.                     If (TBOOLEAN024(1)) Then
  1548.                         WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying password...", ""
  1549.                         While (!BOOLEAN019 && (INTEGER006 < BYTE006)) Do
  1550.                             Inc INTEGER006
  1551.                             STRING008 = ""
  1552.                             KeyFlush
  1553.                             PromptStr 148, STRING008, 12, Mask_Pwd(), 1 + 2 + 4 + 256 + 4096
  1554.                             If (Upper(U_Pwd) == Upper(STRING008)) Then
  1555.                                 PrintLn 
  1556.                                 BOOLEAN019 = 1
  1557.                                 Continue
  1558.                             Endif
  1559.                             OpText String(BYTE006 - INTEGER006)
  1560.                             WORD004 = 14
  1561.                             Gosub LABEL127
  1562.                             If (BOOLEAN027) DispStr STRING032
  1563.                             PrintLn 
  1564.                             BOOLEAN019 = 0
  1565.                         EndWhile
  1566.                         If (BOOLEAN019) Goto LABEL068
  1567.                         WORD004 = 45
  1568.                         Gosub LABEL127
  1569.                         If (BOOLEAN027) Log STRING032, 0
  1570.                         WORD004 = 13
  1571.                         Gosub LABEL127
  1572.                         If (BOOLEAN027) DispStr STRING032
  1573.                         Gosub LABEL132
  1574.                         Bye
  1575.                     Endif
  1576.                     :LABEL068
  1577.                     BOOLEAN019 = 0
  1578.                     INTEGER006 = 0
  1579.                     If (TBOOLEAN024(2) && Psa(2)) Then
  1580.                         WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying verification string...", ""
  1581.                         While (!BOOLEAN019 && (INTEGER006 < BYTE013)) Do
  1582.                             Inc INTEGER006
  1583.                             STRING008 = ""
  1584.                             KeyFlush
  1585.                             PromptStr 707, STRING008, 25, Mask_Ascii(), 2 + 4 + 4096
  1586.                             If (Upper(U_Ver) == Upper(STRING008)) Then
  1587.                                 PrintLn 
  1588.                                 BOOLEAN019 = 1
  1589.                                 Continue
  1590.                             Endif
  1591.                             OpText String(BYTE013 - INTEGER006)
  1592.                             WORD004 = 52
  1593.                             Gosub LABEL127
  1594.                             If (BOOLEAN027) DispStr STRING032
  1595.                             PrintLn 
  1596.                             BOOLEAN019 = 0
  1597.                         EndWhile
  1598.                         If (BOOLEAN019) Goto LABEL069
  1599.                         WORD004 = 24
  1600.                         Gosub LABEL127
  1601.                         If (BOOLEAN027) Log STRING032, 0
  1602.                         WORD004 = 13
  1603.                         Gosub LABEL127
  1604.                         If (BOOLEAN027) DispStr STRING032
  1605.                         Gosub LABEL132
  1606.                         Bye
  1607.                     Endif
  1608.                     :LABEL069
  1609.                     BOOLEAN019 = 0
  1610.                     INTEGER006 = 0
  1611.                     If (TBOOLEAN024(3)) Then
  1612.                         WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), "Verifying city...", ""
  1613.                         While (!BOOLEAN019 && (INTEGER006 < BYTE015)) Do
  1614.                             Inc INTEGER006
  1615.                             STRING008 = ""
  1616.                             KeyFlush
  1617.                             PromptStr 265, STRING008, 24, Mask_Ascii(), 2 + 4 + 4096
  1618.                             If (Upper(U_City) == Upper(STRING008)) Then
  1619.                                 PrintLn 
  1620.                                 BOOLEAN019 = 1
  1621.                                 Continue
  1622.                             Endif
  1623.                             OpText String(BYTE015 - INTEGER006)
  1624.                             WORD004 = 53
  1625.                             Gosub LABEL127
  1626.                             If (BOOLEAN027) DispStr STRING032
  1627.                             PrintLn 
  1628.                             BOOLEAN019 = 0
  1629.                         EndWhile
  1630.                         If (BOOLEAN019) Goto LABEL070
  1631.                         WORD004 = 51
  1632.                         Gosub LABEL127
  1633.                         If (BOOLEAN027) Log STRING032, 0
  1634.                         WORD004 = 13
  1635.                         Gosub LABEL127
  1636.                         If (BOOLEAN027) DispStr STRING032
  1637.                         Gosub LABEL132
  1638.                         Bye
  1639.                     Endif
  1640.                     :LABEL070
  1641.                     BOOLEAN019 = 1
  1642.                     Return
  1643.                     :LABEL071
  1644.                     If (Exist(STRING034)) Goto LABEL072
  1645.                     PrintLn 
  1646.                     PrintLn "@X0CLOOPBACK FATAL ERROR: @X0F" + Upper(STRING034) + " DOES NOT EXIST!"
  1647.                     Log "LoopBack Fatal Error: " + Upper(STRING034) + " does not exist!", 0
  1648.                     PrintLn 
  1649.                     Wait
  1650.                     Goto LABEL131
  1651.                     :LABEL072
  1652.                     FOpen 1, STRING034, 0, 0
  1653.                     If (Ferr(1)) Then
  1654.                         BOOLEAN019 = 1
  1655.                     Else
  1656.                         BOOLEAN019 = 0
  1657.                     Endif
  1658.                     If (BOOLEAN019) Then
  1659.                         OpText STRING034
  1660.                         WORD004 = 9
  1661.                         Gosub LABEL127
  1662.                         If (BOOLEAN027) DispStr STRING032
  1663.                         WORD004 = 8
  1664.                         Gosub LABEL127
  1665.                         If (BOOLEAN027) Log STRING032 + STRING034, 0
  1666.                         WORD004 = 27
  1667.                         Gosub LABEL127
  1668.                         If (BOOLEAN027) Log STRING032, 0
  1669.                         FClose 1
  1670.                     Else
  1671.                         WORD006 = 0
  1672.                         FDefIn 1
  1673.                         FSeek 1, 43, 0
  1674.                         FDRead STRING006, 3
  1675.                         FDRead BOOLEAN012, 1
  1676.                         FDRead STRING017, 25
  1677.                         FDRead INTEGER004, 4
  1678.                         FDRead STRING020, 30
  1679.                         FDRead STRING018, 30
  1680.                         FDRead STRING019, 30
  1681.                         FDRead BYTE003, 1
  1682.                         FDRead WORD002, 2
  1683.                         FDRead BOOLEAN016, 1
  1684.                         FDRead INTEGER005, 4
  1685.                         FDRead STRING026, 75
  1686.                         FDRead WORD003, 2
  1687.                         FDRead STRING027, 30
  1688.                         FDRead BYTE007, 1
  1689.                         FDRead TBYTE018(0), 1
  1690.                         FDRead TBYTE018(1), 1
  1691.                         For INTEGER006 = 0 To 11
  1692.                             FDRead TSTRING030(INTEGER006), 75
  1693.                         Next
  1694.                         FDRead BYTE005, 1
  1695.                         FDRead BYTE006, 1
  1696.                         FDRead BYTE013, 1
  1697.                         FDRead BYTE015, 1
  1698.                         FDRead BYTE009, 1
  1699.                         FDRead BYTE010, 1
  1700.                         FDRead INTEGER008, 4
  1701.                         FDRead INTEGER009, 4
  1702.                         FDRead BYTE011, 1
  1703.                         For INTEGER006 = 0 To 4
  1704.                             FDRead TBOOLEAN024(INTEGER006), 1
  1705.                         Next
  1706.                         FDRead BYTE012, 1
  1707.                         For INTEGER006 = 0 To 3
  1708.                             FDRead TBOOLEAN025(INTEGER006), 1
  1709.                         Next
  1710.                         FDRead WORD005, 2
  1711.                         FDRead BYTE020, 1
  1712.                         FDRead BOOLEAN004, 1
  1713.                         FDRead BOOLEAN005, 1
  1714.                         FDRead BOOLEAN006, 1
  1715.                         FDRead WORD008, 2
  1716.                         FDRead BYTE014, 1
  1717.                         FDRead BOOLEAN007, 1
  1718.                         FDRead INTEGER015, 4
  1719.                         FDRead INTEGER016, 4
  1720.                         FDRead WORD009, 2
  1721.                         FDRead BOOLEAN029, 1
  1722.                         FDRead BOOLEAN023, 1
  1723.                         FDRead BYTE008, 1
  1724.                         FDRead WORD006, 2
  1725.                         FClose 1
  1726.                         If ((WORD006 <> 0) || ((WORD006 == 0) && BOOLEAN041)) Then
  1727.                             If ((WORD006 == 0) && BOOLEAN041) Then
  1728.                                 U_ExpDate = 0
  1729.                             Else
  1730.                                 If (BOOLEAN036) Goto LABEL073
  1731.                                 DATE009 = Date() + WORD006
  1732.                                 Goto LABEL074
  1733.                                 :LABEL073
  1734.                                 DATE009 = U_ExpDate + WORD006
  1735.                             Endif
  1736.                             :LABEL074
  1737.                             WORD006 = 0
  1738.                         Else
  1739.                             DATE009 = 0
  1740.                             WORD006 = 0
  1741.                         Endif
  1742.                         Return
  1743.                         :LABEL075
  1744.                         If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
  1745.                             FOpen 1, PPEPath() + "LBKSTATS.DAT", 0, 0
  1746.                             If (Ferr(1)) Then
  1747.                                 BOOLEAN019 = 1
  1748.                             Else
  1749.                                 BOOLEAN019 = 0
  1750.                             Endif
  1751.                             If (BOOLEAN019) Then
  1752.                                 OpText "LBKSTATS.DAT"
  1753.                                 WORD004 = 9
  1754.                                 Gosub LABEL127
  1755.                                 If (BOOLEAN027) DispStr STRING032
  1756.                                 WORD004 = 8
  1757.                                 Gosub LABEL127
  1758.                                 If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
  1759.                                 WORD004 = 27
  1760.                                 Gosub LABEL127
  1761.                                 If (BOOLEAN027) Log STRING032, 0
  1762.                                 FClose 1
  1763.                                 Return
  1764.                             Endif
  1765.                             FSeek 1, 47, 0
  1766.                             FRead 1, INTEGER011, 4
  1767.                             FClose 1
  1768.                         Else
  1769.                             INTEGER011 = 0
  1770.                         Endif
  1771.                         Cls
  1772.                         PrintLn " @X10┌────────────────────────────────────────────────────────────────────────────@X19┐@X07"
  1773.                         PrintLn " @X10│   @X1F             LoopBack v5.05  Informational Status Display                @X19│@X07"
  1774.                         PrintLn " @X10└@X19────────────────────────────────────────────────────────────────────────────┘@X07"
  1775.                         PrintLn " @X10┌─────────────────────@X19┐  @X10┌───────────────────────────────────────────────────@X19┐@X07"
  1776.                         PrintLn " @X10│ @X1AExecutable Status   @X19│  @X10│          @X1ALoopBack System File Stats               @X19│@X07"
  1777.                         PrintLn " @X10│ @X1FName   @X13" + Left(PPEName() + ".PPE" + Space(13), 13) + "@X19│  @X10│@X1EName               Bytes              Records      @X19│@X07"
  1778.                         Print " @X10│ @X1FDate   @X13" + String(FileInf(PPEPath() + PPEName() + ".PPE", 2)) + "     @X19│  @X10│@X1FUsed # Trash      @X13 " + Left(String(FileInf(TSTRING030(0), 4)) + Space(19), 19)
  1779.                         INTEGER003 = (FileInf(TSTRING030(0), 4) - 37) / 59
  1780.                         PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
  1781.                         Print " @X10│ @X1FVer@X13    ", INTEGER009, "@POS:24@@X19│  @X10│@X1FBad # Trash        @X13" + Left(String(FileInf(TSTRING030(3), 4)) + Space(19), 19)
  1782.                         INTEGER003 = (FileInf(TSTRING030(3), 4) - 41) / 19
  1783.                         PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
  1784.                         Print " @X10│ @X1FBytes  @X13" + Left(String(FileInf(PPEPath() + PPEName() + ".PPE", 4)) + Space(13), 13) + "@X19│  @X10│@X1FAllowed #s         @X13" + Left(String(FileInf(TSTRING030(1), 4)) + Space(19), 19)
  1785.                         INTEGER003 = (FileInf(TSTRING030(1), 4) - 41) / 29
  1786.                         PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
  1787.                         Print " @X10└@X19─────────────────────┘  @X10│@X1FDialing Templates  @X13" + Left(String(FileInf(PPEPath() + "LBKDIAL.PLT", 4)) + Space(19), 19)
  1788.                         INTEGER003 = (FileInf(PPEPath() + "LBKDIAL.PLT", 4) - 41) / 28
  1789.                         PrintLn Left(String(INTEGER003) + Space(13), 13) + "@X19│@X07"
  1790.                         PrintLn " @X10┌─────────────────@X19┐      @X10└@X19───────────────────────────────────────────────────┘@X07"
  1791.                         PrintLn " @X10│ @X1FUsers Verified  @X19└@X10──────────────────────────────────────@X19┐ @X10┌─────────────────@X19┐@X07"
  1792.                         STRING008 = ReadLine(PCBDat(), 29)
  1793.                         INTEGER003 = FileInf(STRING008, 4) / 400
  1794.                         PrintLn " @X10│ @X1F0%························50%·····················100% @X19│ @X10│@X1FUsers    @X13" + Left(String(INTEGER003) + Space(8), 8) + "@X19│@X07"
  1795.                         If ((INTEGER011 <> 0) && (INTEGER003 <> 0)) Then
  1796.                             REAL001 = FmtReal((ToReal(INTEGER011) / ToReal(INTEGER003)) * ToReal(54), 1, 0)
  1797.                         Else
  1798.                             REAL001 = 0
  1799.                         Endif
  1800.                         Color 7
  1801.                         Print " @X10│ @X1C"
  1802.                         STRING008 = Space(REAL001)
  1803.                         If (Len(STRING008) > 54) STRING008 = Space(54)
  1804.                         STRING008 = Replace(STRING008, " ", "▓")
  1805.                         Print STRING008
  1806.                         PrintLn "@X0C" + Space(54 - ToInt(REAL001)) + "@X10 @X19│ @X10│@X1FVerified @X13" + Left(String(INTEGER011) + Space(8), 8) + "@X19│@X07"
  1807.                         PrintLn " @X10└@X19────────────────────────────────────────────────────────┘ @X10└@X19─────────────────┘@X07"
  1808.                         PrintLn " @X10┌────────────────────────────────────────────────────────────────────────────@X19┐@X07"
  1809.                         PrintLn " @X10│                            @X1ARegistration Status                             @X19│@X07"
  1810.                         If (BOOLEAN015) Then
  1811.                             PrintLn " @X10│ @X1FSysop Name  @X13" + Left(STRING017 + Space(28), 28) + "@X1EPlease thank your SysOp for        @X19│@X07"
  1812.                             PrintLn " @X10│ @X1FReg. Code   @X13" + Left(String(INTEGER004) + Space(28), 28) + "@X1Esupporting the shareware concept!  @X19│@X07"
  1813.                         Else
  1814.                             PrintLn " @X10│ @X1FSysop Name  @X13UNREGISTERED" + Space(16) + "@X1EPlease ask your SysOp how you can  @X19│@X07"
  1815.                             PrintLn " @X10│ @X1FReg. Code   @X13    COPY    " + Space(16) + "@X1Ehelp register this product!        @X19│@X07"
  1816.                         Endif
  1817.                         PrintLn " @X10└@X19────────────────────────────────────────────────────────────────────────────┘@X07"
  1818.                         PrintLn 
  1819.                         Wait
  1820.                         Return
  1821.                         :LABEL076
  1822.                         BOOLEAN002 = 0
  1823.                         :LABEL077
  1824.                         If (BOOLEAN002) Goto LABEL079
  1825.                         BYTE017 = 0
  1826.                         BOOLEAN017 = 0
  1827.                         STRING008 = NoChar()
  1828.                         If (BOOLEAN012 && !BOOLEAN040) Then
  1829.                             WORD004 = 16
  1830.                             Gosub LABEL127
  1831.                             InputYN STRING032, STRING008, 0
  1832.                         Endif
  1833.                         If ((BOOLEAN012 && (STRING008 == YesChar())) || (BOOLEAN012 && BOOLEAN040)) Then
  1834.                             STRING021 = ""
  1835.                             STRING006 = ""
  1836.                             STRING007 = ""
  1837.                             WORD004 = 17
  1838.                             Gosub LABEL127
  1839.                             While (Strip(STRING021, " ") == "") Do
  1840.                                 InputStr STRING032, STRING021, 0, 3, "1234567890", 4 + 2 + 256
  1841.                                 If ((Strip(STRING021, " ") == "") && TBOOLEAN025(1)) Then
  1842.                                     BOOLEAN002 = 0
  1843.                                     Break
  1844.                                     Continue
  1845.                                 Endif
  1846.                                 If ((Strip(STRING021, " ") == "") && !TBOOLEAN025(1)) Then
  1847.                                     Continue
  1848.                                 Endif
  1849.                             EndWhile
  1850.                             WORD004 = 18
  1851.                             Gosub LABEL127
  1852.                             While (Strip(STRING006, " ") == "") Do
  1853.                                 InputStr STRING032, STRING006, 0, 4, "1234567890", 4 + 2 + 256
  1854.                                 If ((Strip(STRING006, " ") == "") && TBOOLEAN025(1)) Then
  1855.                                     BOOLEAN002 = 0
  1856.                                     Break
  1857.                                     Continue
  1858.                                 Endif
  1859.                                 If ((Strip(STRING006, " ") == "") && !TBOOLEAN025(1)) Then
  1860.                                     Continue
  1861.                                 Endif
  1862.                             EndWhile
  1863.                             WORD004 = 19
  1864.                             Gosub LABEL127
  1865.                             While (Strip(STRING007, " ") == "") Do
  1866.                                 InputStr STRING032, STRING007, 0, 8, "1234567890", 4 + 2 + 256
  1867.                                 If ((Strip(STRING007, " ") == "") && TBOOLEAN025(1)) Then
  1868.                                     BOOLEAN002 = 0
  1869.                                     Break
  1870.                                     Continue
  1871.                                 Endif
  1872.                                 If ((Strip(STRING007, " ") == "") && !TBOOLEAN025(1)) Then
  1873.                                     Continue
  1874.                                 Endif
  1875.                             EndWhile
  1876.                             STRING008 = YesChar()
  1877.                             If (Len(Strip(STRING021 + STRING006 + STRING007, " ")) >= BYTE014) Then
  1878.                                 OpText "        " + STRING021 + "-" + STRING006 + "-" + STRING007
  1879.                                 WORD004 = 20
  1880.                                 Gosub LABEL127
  1881.                                 InputYN STRING032, STRING008, 0
  1882.                                 Select Case (Upper(STRING008))
  1883.                                     Case NoChar()
  1884.                                         BOOLEAN002 = 0
  1885.                                     Case YesChar()
  1886.                                         BOOLEAN002 = 1
  1887.                                         BYTE017 = 3
  1888.                                         BOOLEAN017 = 1
  1889.                                 End Select
  1890.                             Else
  1891.                                 OpText String(BYTE014)
  1892.                                 WORD004 = 61
  1893.                                 Gosub LABEL127
  1894.                                 DispStr STRING032
  1895.                                 WORD004 = 62
  1896.                                 Gosub LABEL127
  1897.                                 Log STRING032, 0
  1898.                                 BOOLEAN002 = 0
  1899.                                 PrintLn 
  1900.                                 Wait
  1901.                             Endif
  1902.                         Else
  1903.                             If ((BOOLEAN012 && (STRING008 == NoChar())) || ((Len(STRING024) <> 10) || (Len(STRING025) <> 10))) Then
  1904.                                 STRING006 = ""
  1905.                                 STRING007 = ""
  1906.                                 Gosub LABEL080
  1907.                                 If (!BOOLEAN011) Return
  1908.                             Else
  1909.                                 DispFile TSTRING030(6), 2 + 1 + 4
  1910.                                 STRING008 = "D"
  1911.                                 WORD004 = 25
  1912.                                 Gosub LABEL127
  1913.                                 InputStr STRING032, STRING008, 0, 1, "DdHhEeRr", 2 + 4 + 8192 + 256
  1914.                                 Select Case (Upper(STRING008))
  1915.                                     Case "D"
  1916.                                         If (Len(STRING025) >= BYTE014) Then
  1917.                                             BOOLEAN002 = 1
  1918.                                             BYTE017 = 1
  1919.                                         Else
  1920.                                             OpText String(BYTE014)
  1921.                                             WORD004 = 61
  1922.                                             Gosub LABEL127
  1923.                                             DispStr STRING032
  1924.                                             WORD004 = 62
  1925.                                             Gosub LABEL127
  1926.                                             Log STRING032, 0
  1927.                                             BOOLEAN002 = 0
  1928.                                             PrintLn 
  1929.                                             Wait
  1930.                                         Endif
  1931.                                     Case "H"
  1932.                                         If (Len(STRING024) >= BYTE014) Then
  1933.                                             BOOLEAN002 = 1
  1934.                                             BYTE017 = 2
  1935.                                         Else
  1936.                                             OpText String(BYTE014)
  1937.                                             WORD004 = 61
  1938.                                             Gosub LABEL127
  1939.                                             DispStr STRING032
  1940.                                             WORD004 = 62
  1941.                                             Gosub LABEL127
  1942.                                             Log STRING032, 0
  1943.                                             BOOLEAN002 = 0
  1944.                                             PrintLn 
  1945.                                             Wait
  1946.                                         Endif
  1947.                                     Case "R"
  1948.                                         BOOLEAN002 = 1
  1949.                                         BOOLEAN011 = 0
  1950.                                         Return
  1951.                                     Case "E"
  1952.                                         Gosub LABEL080
  1953.                                         If (BOOLEAN011) Goto LABEL078
  1954.                                         BOOLEAN011 = 1
  1955.                                         BOOLEAN002 = 0
  1956.                                     Endif
  1957.                                 Endif
  1958.                         End Select
  1959.                         :LABEL078
  1960.                         Goto LABEL077
  1961.                         :LABEL079
  1962.                         Return
  1963.                         :LABEL080
  1964.                         STRING007 = STRING006
  1965.                         STRING006 = ""
  1966.                         WORD004 = 26
  1967.                         Gosub LABEL127
  1968.                         While (Strip(STRING006, " ") == "") Do
  1969.                             STRING006 = STRING007
  1970.                             InputStr STRING032, STRING006, 0, 3, "1234567890", 2 + 4 + 256
  1971.                             If ((Strip(STRING006, " ") == "") && TBOOLEAN025(1)) Then
  1972.                                 BOOLEAN002 = 1
  1973.                                 BOOLEAN011 = 0
  1974.                                 Return
  1975.                                 Continue
  1976.                             Endif
  1977.                             If ((Strip(STRING006, " ") == "") && !TBOOLEAN025(1)) Then
  1978.                                 Continue
  1979.                             Endif
  1980.                         EndWhile
  1981.                         STRING007 = ""
  1982.                         WORD004 = 19
  1983.                         Gosub LABEL127
  1984.                         While (Strip(STRING007, " ") == "") Do
  1985.                             InputStr STRING032, STRING007, 0, 8, "123456789-0 ", 2 + 4 + 256
  1986.                             If ((Strip(STRING007, " ") == "") && TBOOLEAN025(1)) Then
  1987.                                 BOOLEAN002 = 1
  1988.                                 BOOLEAN011 = 0
  1989.                                 Return
  1990.                                 Continue
  1991.                             Endif
  1992.                             If ((Strip(STRING007, " ") == "") && !TBOOLEAN025(1)) Then
  1993.                                 Continue
  1994.                             Endif
  1995.                         EndWhile
  1996.                         If (Len(Strip(Strip(STRING006 + STRING007, " "), "-")) >= BYTE014) Then
  1997.                             STRING008 = YesChar()
  1998.                             OpText "        (" + STRING006 + ")" + " " + STRING007
  1999.                             WORD004 = 20
  2000.                             Gosub LABEL127
  2001.                             InputYN STRING032, STRING008, 0
  2002.                             PrintLn 
  2003.                             Select Case (Upper(STRING008))
  2004.                                 Case NoChar()
  2005.                                     BOOLEAN002 = 0
  2006.                                 Case YesChar()
  2007.                                     BOOLEAN002 = 1
  2008.                                     BYTE017 = 3
  2009.                                     STRING007 = Strip(Strip(Strip(Strip(STRING007, " "), "-"), "("), ")")
  2010.                             End Select
  2011.                         Else
  2012.                             OpText String(BYTE014)
  2013.                             WORD004 = 61
  2014.                             Gosub LABEL127
  2015.                             DispStr STRING032
  2016.                             WORD004 = 62
  2017.                             Gosub LABEL127
  2018.                             Log STRING032, 0
  2019.                             BOOLEAN002 = 0
  2020.                             PrintLn 
  2021.                             Wait
  2022.                         Endif
  2023.                         Return
  2024.                         :LABEL081
  2025.                         If (BOOLEAN017 == 0) Then
  2026.                             Select Case (BYTE017)
  2027.                                 Case 1
  2028.                                     STRING010 = Mid(STRING025, 1, 3)
  2029.                                     STRING011 = Mid(STRING025, 4, 3)
  2030.                                     STRING023 = Mid(STRING025, 7, 4)
  2031.                                 Case 2
  2032.                                     STRING010 = Mid(STRING024, 1, 3)
  2033.                                     STRING011 = Mid(STRING024, 4, 3)
  2034.                                     STRING023 = Mid(STRING024, 7, 4)
  2035.                                 Case 3
  2036.                                     STRING010 = STRING006
  2037.                                     STRING011 = Mid(STRING007, 1, 3)
  2038.                                     STRING023 = Mid(STRING007, 4, 4)
  2039.                             End Select
  2040.                         Else
  2041.                             STRING021 = Strip(STRING021, " ")
  2042.                             STRING006 = Strip(STRING006, " ")
  2043.                             STRING007 = Strip(STRING007, " ")
  2044.                         Endif
  2045.                         Return
  2046.                         :LABEL082
  2047.                         BOOLEAN014 = 0
  2048.                         If (Exist(TSTRING030(3))) Then
  2049.                             INTEGER003 = FileInf(TSTRING030(3), 4)
  2050.                             INTEGER006 = (INTEGER003 - 41) / 19
  2051.                             INTEGER013 = INTEGER006
  2052.                             INTEGER012 = 1
  2053.                             INTEGER010 = 1
  2054.                             FOpen 1, TSTRING030(3), 0, 0
  2055.                             If (Ferr(1)) Then
  2056.                                 BOOLEAN019 = 1
  2057.                                 Goto LABEL083
  2058.                             Endif
  2059.                             BOOLEAN019 = 0
  2060.                             :LABEL083
  2061.                             If (BOOLEAN019) Then
  2062.                                 OpText TSTRING030(3)
  2063.                                 WORD004 = 9
  2064.                                 Gosub LABEL127
  2065.                                 If (BOOLEAN027) DispStr STRING032
  2066.                                 WORD004 = 8
  2067.                                 Gosub LABEL127
  2068.                                 If (BOOLEAN027) Log STRING032 + TSTRING030(3) , 0
  2069.                                 WORD004 = 27
  2070.                                 Gosub LABEL127
  2071.                                 If (BOOLEAN027) Log STRING032, 0
  2072.                                 FClose 1
  2073.                                 Goto LABEL131
  2074.                             Endif
  2075.                             FDefIn 1
  2076.                             While (INTEGER010 <= INTEGER006) Do
  2077.                                 STRING033 = ""
  2078.                                 FSeek 1, 41 + INTEGER010 * 19 - 19, 0
  2079.                                 FDRead BOOLEAN003, 1
  2080.                                 If (BOOLEAN003) Goto LABEL084
  2081.                                 FDRead BOOLEAN026, 1
  2082.                                 FRead 1, WORD007, 2
  2083.                                 If ((PcbNode() == WORD007) || (WORD007 == 0)) Then
  2084.                                     If (BOOLEAN017 && BOOLEAN012) Then
  2085.                                         If (BOOLEAN026) Then
  2086.                                             FDRead STRING008, 3
  2087.                                             STRING008 = Upper(Strip(STRING008, " "))
  2088.                                             For BYTE016 = 1 To Len(STRING021)
  2089.                                                 If (Mid(STRING008, BYTE016, 1) == "X") Then
  2090.                                                     STRING033 = STRING033 + Mid(STRING021, BYTE016, 1)
  2091.                                                     Continue
  2092.                                                 Endif
  2093.                                                 STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2094.                                             Next
  2095.                                             FDRead STRING008, 4
  2096.                                             For BYTE016 = 1 To Len(STRING006)
  2097.                                                 If (Mid(STRING008, BYTE016, 1) == "X") Then
  2098.                                                     STRING033 = STRING033 + Mid(STRING006, BYTE016, 1)
  2099.                                                     Continue
  2100.                                                 Endif
  2101.                                                 STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2102.                                             Next
  2103.                                             FDRead STRING008, 8
  2104.                                             STRING008 = Upper(Strip(STRING008, " "))
  2105.                                             For BYTE016 = 1 To Len(STRING007)
  2106.                                                 If (Mid(STRING008, BYTE016, 1) == "X") Then
  2107.                                                     STRING033 = STRING033 + Mid(STRING007, BYTE016, 1)
  2108.                                                     Continue
  2109.                                                 Endif
  2110.                                                 STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2111.                                             Next
  2112.                                             If (STRING021 + STRING006 + STRING007 == STRING033) Then
  2113.                                                 BOOLEAN014 = 1
  2114.                                                 FClose 1
  2115.                                                 Return
  2116.                                             Endif
  2117.                                         Endif
  2118.                                         Goto LABEL084
  2119.                                     Endif
  2120.                                     If (BOOLEAN026) Goto LABEL084
  2121.                                     FDRead STRING008, 3
  2122.                                     STRING008 = Upper(Strip(STRING008, " "))
  2123.                                     For BYTE016 = 1 To Len(STRING010)
  2124.                                         If (Mid(STRING008, BYTE016, 1) == "X") Then
  2125.                                             STRING033 = STRING033 + Mid(STRING010, BYTE016, 1)
  2126.                                             Continue
  2127.                                         Endif
  2128.                                         STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2129.                                     Next
  2130.                                     FDRead STRING008, 3
  2131.                                     STRING008 = Upper(Strip(STRING008, " "))
  2132.                                     For BYTE016 = 1 To Len(STRING011)
  2133.                                         If (Mid(STRING008, BYTE016, 1) == "X") Then
  2134.                                             STRING033 = STRING033 + Mid(STRING011, BYTE016, 1)
  2135.                                             Continue
  2136.                                         Endif
  2137.                                         STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2138.                                     Next
  2139.                                     FSeek 1, 1, 1
  2140.                                     FDRead STRING008, 4
  2141.                                     STRING008 = Upper(Strip(STRING008, " "))
  2142.                                     For BYTE016 = 1 To Len(STRING023)
  2143.                                         If (Mid(STRING008, BYTE016, 1) == "X") Then
  2144.                                             STRING033 = STRING033 + Mid(STRING023, BYTE016, 1)
  2145.                                             Continue
  2146.                                         Endif
  2147.                                         STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2148.                                     Next
  2149.                                     If (STRING010 + STRING011 + STRING023 == STRING033) Then
  2150.                                         BOOLEAN014 = 1
  2151.                                         FClose 1
  2152.                                         Return
  2153.                                     Endif
  2154.                                 Endif
  2155.                                 :LABEL084
  2156.                                 Gosub LABEL129
  2157.                                 Inc INTEGER012
  2158.                                 Inc INTEGER010
  2159.                             EndWhile
  2160.                             Color 7
  2161.                             FClose 1
  2162.                         Endif
  2163.                         Return
  2164.                         :LABEL085
  2165.                         BOOLEAN009 = 1
  2166.                         BOOLEAN010 = 1
  2167.                         BOOLEAN018 = 0
  2168.                         BOOLEAN014 = 1
  2169.                         If (Exist(TSTRING030(1)) && Exist(PPEPath() + "LBKALLOW.IDX")) Then
  2170.                             If (Exist(PPEPath() + "LBKDIAL.PLT")) Goto LABEL086
  2171.                             PrintLn 
  2172.                             PrintLn "@X0CLOOPBACK FATAL ERROR: NO DIALING TEMPLATE FILE EXISTS!"
  2173.                             PrintLn 
  2174.                             Log "LOOPBACK FATAL ERROR: NO DIALING TEMPLATE FILE!", 0
  2175.                             PrintLn "@X0FPlease ask your SysOp to create the dialing template file..."
  2176.                             PrintLn 
  2177.                             Wait
  2178.                             Goto LABEL131
  2179.                             :LABEL086
  2180.                             WORD004 = 47
  2181.                             Gosub LABEL127
  2182.                             If (BOOLEAN027) DispStr STRING032 + "    "
  2183.                             FOpen 1, TSTRING030(1), 0, 0
  2184.                             If (Ferr(1)) Then
  2185.                                 BOOLEAN019 = 1
  2186.                             Else
  2187.                                 BOOLEAN019 = 0
  2188.                             Endif
  2189.                             If (BOOLEAN019) Then
  2190.                                 OpText TSTRING030(1)
  2191.                                 WORD004 = 9
  2192.                                 Gosub LABEL127
  2193.                                 If (BOOLEAN027) DispStr STRING032
  2194.                                 WORD004 = 8
  2195.                                 Gosub LABEL127
  2196.                                 If (BOOLEAN027) Log STRING032 + " " + TSTRING030(1) , 0
  2197.                                 WORD004 = 27
  2198.                                 Gosub LABEL127
  2199.                                 If (BOOLEAN027) Log STRING032, 0
  2200.                                 FClose 1
  2201.                                 Goto LABEL131
  2202.                             Endif
  2203.                             FOpen 2, PPEPath() + "LBKDIAL.PLT", 0, 0
  2204.                             If (Ferr(2)) Then
  2205.                                 BOOLEAN019 = 1
  2206.                             Else
  2207.                                 BOOLEAN019 = 0
  2208.                             Endif
  2209.                             If (BOOLEAN019) Then
  2210.                                 OpText PPEPath() + "LBKDIAL.PLT"
  2211.                                 WORD004 = 9
  2212.                                 Gosub LABEL127
  2213.                                 If (BOOLEAN027) DispStr STRING032
  2214.                                 WORD004 = 8
  2215.                                 Gosub LABEL127
  2216.                                 If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKDIAL.PLT", 0
  2217.                                 WORD004 = 27
  2218.                                 Gosub LABEL127
  2219.                                 If (BOOLEAN027) Log STRING032, 0
  2220.                                 FClose 1
  2221.                                 FClose 2
  2222.                                 Goto LABEL131
  2223.                             Endif
  2224.                             FOpen 3, PPEPath() + "LBKALLOW.IDX", 0, 0
  2225.                             If (Ferr(3)) Then
  2226.                                 BOOLEAN019 = 1
  2227.                             Else
  2228.                                 BOOLEAN019 = 0
  2229.                             Endif
  2230.                             If (BOOLEAN019) Then
  2231.                                 OpText PPEPath() + "LBKALLOW.IDX"
  2232.                                 WORD004 = 9
  2233.                                 Gosub LABEL127
  2234.                                 If (BOOLEAN027) DispStr STRING032
  2235.                                 WORD004 = 8
  2236.                                 Gosub LABEL127
  2237.                                 If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKALLOW.IDX", 0
  2238.                                 WORD004 = 27
  2239.                                 Gosub LABEL127
  2240.                                 If (BOOLEAN027) Log STRING032, 0
  2241.                                 FClose 1
  2242.                                 FClose 2
  2243.                                 FClose 3
  2244.                                 Goto LABEL131
  2245.                             Endif
  2246.                             FDefIn 3
  2247.                             INTEGER014 = FileInf(PPEPath() + "LBKALLOW.IDX", 4)
  2248.                             INTEGER013 = (INTEGER014 - 41) / 8
  2249.                             If (BOOLEAN017) Then
  2250.                                 INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10)
  2251.                             Else
  2252.                                 INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10)
  2253.                             Endif
  2254.                             INTEGER007 = 0
  2255.                             INTEGER012 = 1
  2256.                             FSeek 3, 41, 0
  2257.                             While (INTEGER012 <= INTEGER013) Do
  2258.                                 FDRead INTEGER006, 4
  2259.                                 FDRead INTEGER010, 4
  2260.                                 If ((INTEGER006 == 0) || (INTEGER006 == INTEGER003)) Then
  2261.                                     Inc INTEGER007
  2262.                                     FSeek 1, 41 + INTEGER012 * 29 - 29, 0
  2263.                                     STRING033 = ""
  2264.                                     FRead 1, BOOLEAN003, 1
  2265.                                     If (BOOLEAN003) Goto LABEL089
  2266.                                     FRead 1, BOOLEAN026, 1
  2267.                                     If (BOOLEAN017 && BOOLEAN012) Then
  2268.                                         If (BOOLEAN026) Then
  2269.                                             FRead 1, STRING008, 3
  2270.                                             STRING008 = Upper(Strip(STRING008, " "))
  2271.                                             For BYTE016 = 1 To Len(STRING021)
  2272.                                                 If (Mid(STRING008, BYTE016, 1) == "X") Then
  2273.                                                     STRING033 = STRING033 + Mid(STRING021, BYTE016, 1)
  2274.                                                     Continue
  2275.                                                 Endif
  2276.                                                 STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2277.                                             Next
  2278.                                             FRead 1, STRING008, 4
  2279.                                             STRING008 = Upper(Strip(STRING008, " "))
  2280.                                             For BYTE016 = 1 To Len(STRING006)
  2281.                                                 If (Mid(STRING008, BYTE016, 1) == "X") Then
  2282.                                                     STRING033 = STRING033 + Mid(STRING006, BYTE016, 1)
  2283.                                                     Continue
  2284.                                                 Endif
  2285.                                                 STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2286.                                             Next
  2287.                                             FRead 1, STRING022, 10
  2288.                                             STRING022 = Upper(Trim(STRING022, " "))
  2289.                                             If (STRING021 + STRING006 == STRING033) Then
  2290.                                                 FreshLine
  2291.                                                 Gosub LABEL103
  2292.                                                 If (BOOLEAN014) Then
  2293.                                                     PrintLn 
  2294.                                                     PrintLn "@X0CLOOPBACK FATAL ERROR: " + STRING022 + " TEMPLATE NOT FOUND!"
  2295.                                                     PrintLn 
  2296.                                                     Log STRING022 + " TEMPLATE NOT FOUND! LOOPBACK HALTED!", 0
  2297.                                                     PrintLn "@X0FPlease ask your SysOp to check his/her dialing templates for accuracy..."
  2298.                                                     PrintLn 
  2299.                                                     FClose 1
  2300.                                                     FClose 2
  2301.                                                     FClose 3
  2302.                                                     Wait
  2303.                                                     Goto LABEL131
  2304.                                                     Goto LABEL087
  2305.                                                 Endif
  2306.                                                 FClose 1
  2307.                                                 FClose 2
  2308.                                                 FClose 3
  2309.                                                 :LABEL087
  2310.                                                 Break
  2311.                                             Endif
  2312.                                         Endif
  2313.                                         Goto LABEL089
  2314.                                     Endif
  2315.                                     If (BOOLEAN026) Goto LABEL089
  2316.                                     FRead 1, STRING008, 3
  2317.                                     STRING008 = Upper(Strip(STRING008, " "))
  2318.                                     For BYTE016 = 1 To Len(STRING010)
  2319.                                         If (Mid(STRING008, BYTE016, 1) == "X") Then
  2320.                                             STRING033 = STRING033 + Mid(STRING010, BYTE016, 1)
  2321.                                             Continue
  2322.                                         Endif
  2323.                                         STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2324.                                     Next
  2325.                                     FRead 1, STRING008, 3
  2326.                                     STRING008 = Upper(Strip(STRING008, " "))
  2327.                                     For BYTE016 = 1 To Len(STRING011)
  2328.                                         If (Mid(STRING008, BYTE016, 1) == "X") Then
  2329.                                             STRING033 = STRING033 + Mid(STRING011, BYTE016, 1)
  2330.                                             Continue
  2331.                                         Endif
  2332.                                         STRING033 = STRING033 + Mid(STRING008, BYTE016, 1)
  2333.                                     Next
  2334.                                     FSeek 1, 1, 1
  2335.                                     FRead 1, STRING022, 10
  2336.                                     STRING022 = Trim(STRING022, " ")
  2337.                                     If (STRING010 + STRING011 == STRING033) Then
  2338.                                         FreshLine
  2339.                                         Gosub LABEL103
  2340.                                         If (BOOLEAN014) Then
  2341.                                             PrintLn 
  2342.                                             PrintLn "@X0CLOOPBACK FATAL ERROR: " + STRING022 + " TEMPLATE NOT FOUND!"
  2343.                                             PrintLn 
  2344.                                             Log STRING022 + " TEMPLATE NOT FOUND! LOOPBACK HALTED!", 0
  2345.                                             PrintLn "@X0FPlease ask your SysOp to check his/her dialing templates for accuracy..."
  2346.                                             PrintLn 
  2347.                                             FClose 1
  2348.                                             FClose 2
  2349.                                             FClose 3
  2350.                                             Wait
  2351.                                             Goto LABEL131
  2352.                                             Goto LABEL088
  2353.                                         Endif
  2354.                                         FClose 1
  2355.                                         FClose 2
  2356.                                         FClose 3
  2357.                                         :LABEL088
  2358.                                         Break
  2359.                                     Endif
  2360.                                 Endif
  2361.                                 :LABEL089
  2362.                                 Gosub LABEL129
  2363.                                 Inc INTEGER012
  2364.                             EndWhile
  2365.                             Color 7
  2366.                             FClose 1
  2367.                             FClose 2
  2368.                             FClose 3
  2369.                             Dec INTEGER012
  2370.                             Log "LoopBack Allowed #s (Scanned: " + String(INTEGER012) + "  Searched: " + String(INTEGER007) + ")", 0
  2371.                         Else
  2372.                             PrintLn 
  2373.                             PrintLn 
  2374.                             PrintLn "@X0CYour SysOp has not yet created the allowed # calling index file..."
  2375.                             PrintLn "@X0ANotifying SysOp of this problem..."
  2376.                             PrintLn 
  2377.                             PrintLn "@X0FLOOPBACK HALTING: INDEX FILE NOT PRESENT"
  2378.                             Log "LoopBack Allowed # Index file not present...  PLEASE CREATE!", 1
  2379.                             FClose 1
  2380.                             FClose 2
  2381.                             FClose 3
  2382.                             PrintLn 
  2383.                             Wait
  2384.                             Goto LABEL131
  2385.                         Endif
  2386.                         If (BOOLEAN014) Then
  2387.                             WORD004 = 46
  2388.                             Gosub LABEL127
  2389.                             If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
  2390.                         Endif
  2391.                         If ((Exist(TSTRING030(0)) && !TBOOLEAN025(2)) && (!BOOLEAN014 && !BOOLEAN008)) Then
  2392.                             If (Exist(PPEPath() + "TRASH.IDX")) Then
  2393.                                 WORD004 = 69
  2394.                                 Gosub LABEL127
  2395.                                 If (BOOLEAN027) DispStr STRING032 + "    "
  2396.                                 INTEGER007 = FileInf(PPEPath() + "TRASH.IDX", 4)
  2397.                                 INTEGER013 = (INTEGER007 - 37) / 8
  2398.                                 FOpen 1, TSTRING030(0), 0, 0
  2399.                                 If (Ferr(1)) Then
  2400.                                     BOOLEAN019 = 1
  2401.                                 Else
  2402.                                     BOOLEAN019 = 0
  2403.                                 Endif
  2404.                                 If (BOOLEAN019) Then
  2405.                                     OpText TSTRING030(0)
  2406.                                     WORD004 = 9
  2407.                                     Gosub LABEL127
  2408.                                     If (BOOLEAN027) DispStr STRING032
  2409.                                     WORD004 = 8
  2410.                                     Gosub LABEL127
  2411.                                     If (BOOLEAN027) Log STRING032 + " " + TSTRING030(0) , 0
  2412.                                     WORD004 = 27
  2413.                                     Gosub LABEL127
  2414.                                     If (BOOLEAN027) Log STRING032, 0
  2415.                                     FClose 1
  2416.                                     Goto LABEL131
  2417.                                 Endif
  2418.                                 FOpen 2, PPEPath() + "TRASH.IDX", 0, 0
  2419.                                 If (Ferr(2)) Then
  2420.                                     BOOLEAN019 = 1
  2421.                                 Else
  2422.                                     BOOLEAN019 = 0
  2423.                                 Endif
  2424.                                 If (BOOLEAN019) Then
  2425.                                     OpText PPEPath() + "TRASH.IDX"
  2426.                                     WORD004 = 9
  2427.                                     Gosub LABEL127
  2428.                                     If (BOOLEAN027) DispStr STRING032
  2429.                                     WORD004 = 8
  2430.                                     Gosub LABEL127
  2431.                                     If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "TRASH.IDX", 0
  2432.                                     WORD004 = 27
  2433.                                     Gosub LABEL127
  2434.                                     If (BOOLEAN027) Log STRING032, 0
  2435.                                     FClose 1
  2436.                                     FClose 2
  2437.                                     Goto LABEL131
  2438.                                 Endif
  2439.                                 FDefIn 2
  2440.                                 If (BOOLEAN017) Then
  2441.                                     INTEGER003 = S2I(STRING021, 10) + S2I(STRING006, 10) + S2I(STRING007, 10)
  2442.                                 Else
  2443.                                     INTEGER003 = S2I(STRING010, 10) + S2I(STRING011, 10) + S2I(STRING023, 10)
  2444.                                 Endif
  2445.                                 INTEGER012 = 1
  2446.                                 FSeek 2, 37, 0
  2447.                                 INTEGER007 = 0
  2448.                                 While (INTEGER012 <= INTEGER013) Do
  2449.                                     FDRead INTEGER010, 4
  2450.                                     FDRead INTEGER006, 4
  2451.                                     If (INTEGER006 == INTEGER003) Then
  2452.                                         Inc INTEGER007
  2453.                                         FSeek 1, 37 + INTEGER010 * 59 - 59, 0
  2454.                                         FRead 1, BOOLEAN003, 1
  2455.                                         If (BOOLEAN003) Goto LABEL090
  2456.                                         FRead 1, BOOLEAN026, 1
  2457.                                         FRead 1, STRING025, 3
  2458.                                         FRead 1, STRING008, 4
  2459.                                         STRING025 = STRING025 + STRING008
  2460.                                         FRead 1, STRING008, 8
  2461.                                         STRING025 = STRING025 + STRING008
  2462.                                         STRING025 = Strip(STRING025, " ")
  2463.                                         FRead 1, STRING031, 25
  2464.                                         STRING031 = Trim(STRING031, " ")
  2465.                                         FRead 1, DATE003, 2
  2466.                                         FRead 1, TIME001, 4
  2467.                                         If (BOOLEAN017 == 0) Then
  2468.                                             If (STRING025 == STRING010 + STRING011 + STRING023) Then
  2469.                                                 WORD004 = 50
  2470.                                                 Gosub LABEL127
  2471.                                                 BOOLEAN018 = 1
  2472.                                                 FClose 1
  2473.                                                 FClose 2
  2474.                                                 If (BOOLEAN027) Log STRING010 + "-" + STRING011 + "-" + STRING023 + " " + STRING032, 0
  2475.                                                 Break
  2476.                                             Endif
  2477.                                             Goto LABEL090
  2478.                                         Endif
  2479.                                         If (STRING025 == STRING021 + STRING006 + STRING007) Then
  2480.                                             WORD004 = 50
  2481.                                             Gosub LABEL127
  2482.                                             BOOLEAN018 = 1
  2483.                                             FClose 1
  2484.                                             FClose 2
  2485.                                             If (BOOLEAN027) Log STRING021 + "-" + STRING006 + "-" + STRING007 + " " + STRING032, 0
  2486.                                             Break
  2487.                                         Endif
  2488.                                     Endif
  2489.                                     :LABEL090
  2490.                                     Gosub LABEL129
  2491.                                     Inc INTEGER012
  2492.                                 EndWhile
  2493.                                 Color 7
  2494.                                 FClose 1
  2495.                                 FClose 2
  2496.                                 Newline
  2497.                                 PrintLn 
  2498.                                 Dec INTEGER012
  2499.                                 Log "LoopBack Used # File (Scanned: " + String(INTEGER012) + "  Searched: " + String(INTEGER007) + ")", 0
  2500.                             Else
  2501.                                 PrintLn 
  2502.                                 PrintLn 
  2503.                                 PrintLn "@X0CYour SysOp has not yet created the trash index file..."
  2504.                                 PrintLn "@X0ANotifying SysOp of this problem..."
  2505.                                 PrintLn 
  2506.                                 PrintLn "@X0FLOOPBACK HALTING: INDEX FILE NOT PRESENT"
  2507.                                 Log "LoopBack Trash Index file not present...  PLEASE CREATE!", 1
  2508.                                 FClose 1
  2509.                                 FClose 2
  2510.                                 PrintLn 
  2511.                                 Wait
  2512.                             Else
  2513.                             Endif
  2514.                             If (BOOLEAN018) Goto LABEL092
  2515.                             For INTEGER006 = 0 To 5
  2516.                                 TSTRING028(INTEGER006) = ""
  2517.                                 TTIME002(INTEGER006) = 0
  2518.                                 TDATE004(INTEGER006) = 0
  2519.                             Next
  2520.                             If (Exist(PPEPath() + "LBKSTATS.DAT")) Then
  2521.                                 INTEGER007 = FileInf(PPEPath() + "LBKSTATS.DAT", 4)
  2522.                                 FOpen 1, PPEPath() + "LBKSTATS.DAT", 0, 0
  2523.                                 If (Ferr(1)) Then
  2524.                                     BOOLEAN019 = 1
  2525.                                     Goto LABEL091
  2526.                                 Endif
  2527.                                 BOOLEAN019 = 0
  2528.                                 :LABEL091
  2529.                                 If (BOOLEAN019) Then
  2530.                                     OpText "LBKSTATS.DAT"
  2531.                                     WORD004 = 9
  2532.                                     Gosub LABEL127
  2533.                                     If (BOOLEAN027) DispStr STRING032
  2534.                                     WORD004 = 8
  2535.                                     Gosub LABEL127
  2536.                                     If (BOOLEAN027) Log STRING032 + " LBKSTATS.DAT", 0
  2537.                                     WORD004 = 27
  2538.                                     Gosub LABEL127
  2539.                                     If (BOOLEAN027) Log STRING032, 0
  2540.                                     FClose 1
  2541.                                     Return
  2542.                                 Endif
  2543.                                 FSeek 1, 47, 0
  2544.                                 FRead 1, INTEGER011, 4
  2545.                                 FSeek 1, 8, 1
  2546.                                 For INTEGER006 = 0 To 5
  2547.                                     FRead 1, TSTRING028(INTEGER006), 25
  2548.                                     FRead 1, TDATE004(INTEGER006), 2
  2549.                                     FRead 1, TTIME002(INTEGER006), 4
  2550.                                 Next
  2551.                                 FClose 1
  2552.                             Endif
  2553.                             For INTEGER006 = 0 To 5
  2554.                                 If (Trim(TSTRING028(INTEGER006), " ") == "") Then
  2555.                                     TSTRING028(INTEGER006) = " N/A"
  2556.                                     TDATE004(INTEGER006) = 0
  2557.                                     TTIME002(INTEGER006) = 0
  2558.                                 Endif
  2559.                             Next
  2560.                             :LABEL092
  2561.                             Return
  2562.                             :LABEL093
  2563.                             If (!Exist(TSTRING030(2))) Return
  2564.                             INTEGER003 = FileInf(TSTRING030(2), 4)
  2565.                             INTEGER006 = (INTEGER003 - 39) / 28
  2566.                             INTEGER010 = 1
  2567.                             FOpen 1, TSTRING030(2), 0, 0
  2568.                             If (Ferr(1)) Then
  2569.                                 BOOLEAN019 = 1
  2570.                             Else
  2571.                                 BOOLEAN019 = 0
  2572.                             Endif
  2573.                             If (BOOLEAN019) Then
  2574.                                 OpText TSTRING030(2)
  2575.                                 WORD004 = 9
  2576.                                 Gosub LABEL127
  2577.                                 If (BOOLEAN027) DispStr STRING032
  2578.                                 WORD004 = 8
  2579.                                 Gosub LABEL127
  2580.                                 If (BOOLEAN027) Log STRING032 + " " + TSTRING030(2) , 0
  2581.                                 WORD004 = 27
  2582.                                 Gosub LABEL127
  2583.                                 If (BOOLEAN027) Log STRING032, 0
  2584.                                 FClose 1
  2585.                             Else
  2586.                                 FDefIn 1
  2587.                                 While (INTEGER010 <= INTEGER006) Do
  2588.                                     FSeek 1, 39 + INTEGER010 * 28 - 28, 0
  2589.                                     FDRead BOOLEAN003, 1
  2590.                                     If (BOOLEAN003) Goto LABEL094
  2591.                                     FDRead WORD007, 2
  2592.                                     If ((WORD007 == PcbNode()) || (WORD007 == 0)) Then
  2593.                                         FDRead STRING008, 25
  2594.                                         STRING008 = Upper(Trim(STRING008, " "))
  2595.                                         If (InStr(Upper(U_Name()), STRING008) <> 0) Then
  2596.                                             WORD004 = 22
  2597.                                             Gosub LABEL127
  2598.                                             If (BOOLEAN027) DispStr STRING032
  2599.                                             WORD004 = 23
  2600.                                             Gosub LABEL127
  2601.                                             If (BOOLEAN027) Log STRING032, 0
  2602.                                             WORD004 = 31
  2603.                                             Gosub LABEL127
  2604.                                             If (BOOLEAN027) DispStr STRING032
  2605.                                             FClose 1
  2606.                                             STRING008 = ""
  2607.                                             Goto LABEL131
  2608.                                         Endif
  2609.                                     Endif
  2610.                                     :LABEL094
  2611.                                     Inc INTEGER010
  2612.                                 EndWhile
  2613.                                 FClose 1
  2614.                                 STRING008 = ""
  2615.                                 Return
  2616.                                 :LABEL095
  2617.                                 If (!Exist(TSTRING030(9))) Return
  2618.                                 INTEGER003 = FileInf(TSTRING030(9), 4)
  2619.                                 INTEGER006 = (INTEGER003 - 39) / 4
  2620.                                 INTEGER010 = 1
  2621.                                 FOpen 1, TSTRING030(9), 0, 0
  2622.                                 If (Ferr(1)) Then
  2623.                                     BOOLEAN019 = 1
  2624.                                 Else
  2625.                                     BOOLEAN019 = 0
  2626.                                 Endif
  2627.                                 If (BOOLEAN019) Then
  2628.                                     OpText TSTRING030(9)
  2629.                                     WORD004 = 9
  2630.                                     Gosub LABEL127
  2631.                                     If (BOOLEAN027) DispStr STRING032
  2632.                                     WORD004 = 8
  2633.                                     Gosub LABEL127
  2634.                                     If (BOOLEAN027) Log STRING032 + " " + TSTRING030(9) , 0
  2635.                                     WORD004 = 27
  2636.                                     Gosub LABEL127
  2637.                                     If (BOOLEAN027) Log STRING032, 0
  2638.                                     FClose 1
  2639.                                 Else
  2640.                                     FDefIn 1
  2641.                                     While (INTEGER010 <= INTEGER006) Do
  2642.                                         FSeek 1, 39 + INTEGER010 * 4 - 4, 0
  2643.                                         FDRead BOOLEAN003, 1
  2644.                                         If (BOOLEAN003) Goto LABEL096
  2645.                                         FDRead WORD007, 2
  2646.                                         If ((WORD007 == PcbNode()) || (WORD007 == 0)) Then
  2647.                                             FDRead BYTE016, 1
  2648.                                             If (U_Sec == BYTE016) Then
  2649.                                                 WORD004 = 22
  2650.                                                 Gosub LABEL127
  2651.                                                 If (BOOLEAN027) DispStr STRING032
  2652.                                                 WORD004 = 23
  2653.                                                 Gosub LABEL127
  2654.                                                 If (BOOLEAN027) Log STRING032, 0
  2655.                                                 WORD004 = 31
  2656.                                                 Gosub LABEL127
  2657.                                                 If (BOOLEAN027) DispStr STRING032
  2658.                                                 FClose 1
  2659.                                                 Goto LABEL131
  2660.                                             Endif
  2661.                                         Endif
  2662.                                         :LABEL096
  2663.                                         Inc INTEGER010
  2664.                                     EndWhile
  2665.                                     FClose 1
  2666.                                     Return
  2667.                                     :LABEL097
  2668.                                     If (Exist(PPEPath() + "UNIVERSL.KEY")) Goto LABEL100
  2669.                                     If (Exist(PPEPath() + "UNI.KEY")) Goto LABEL101
  2670.                                     If (Exist(PPEPath() + "CALLBACK.KEY")) Goto LABEL102
  2671.                                     INTEGER006 = 0
  2672.                                     INTEGER010 = 0
  2673.                                     STRING009 = ""
  2674.                                     STRING009 = Strip(Upper(STRING017), " ")
  2675.                                     For INTEGER010 = 1 To Len(STRING009)
  2676.                                         INTEGER006 = INTEGER006 + Asc(Mid(STRING009, INTEGER010, 1))
  2677.                                     Next
  2678.                                     INTEGER006 = INTEGER006 + 5427
  2679.                                     Inc INTEGER006
  2680.                                     INTEGER010 = INTEGER006 / 2
  2681.                                     INTEGER006 = INTEGER010 + INTEGER006
  2682.                                     INTEGER006 = INTEGER006 + Len(STRING009)
  2683.                                     INTEGER010 = INTEGER008
  2684.                                     INTEGER006 = INTEGER006 + INTEGER010
  2685.                                     INTEGER006 = INTEGER006 + INTEGER009
  2686.                                     INTEGER006 = INTEGER006 - 34
  2687.                                     BOOLEAN015 = 0
  2688.                                     If (INTEGER004 == INTEGER006) Then
  2689.                                         BOOLEAN015 = 1
  2690.                                     Else
  2691.                                         BOOLEAN015 = 0
  2692.                                     Endif
  2693.                                     :LABEL098
  2694.                                     If (BOOLEAN015) Goto LABEL099
  2695.                                     Cls
  2696.                                     PrintLn "@X0ALoopBack v5.05    @X0FCopyright (c)1996 by Practical Computer Services"
  2697.                                     PrintLn 
  2698.                                     Print "@X0CUNREGISTERED @X07delaying @X0E10"
  2699.                                     Backup 2
  2700.                                     INTEGER006 = 9
  2701.                                     While ((INTEGER006 < 10) && (INTEGER006 >= 0)) Do
  2702.                                         Delay 18
  2703.                                         Print String(INTEGER006) + " "
  2704.                                         Dec INTEGER006
  2705.                                         Backup 2
  2706.                                     EndWhile
  2707.                                     PrintLn 
  2708.                                     :LABEL099
  2709.                                     Return
  2710.                                     :LABEL100
  2711.                                     FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
  2712.                                     FDefIn 1
  2713.                                     For INTEGER017 = 1 To 3
  2714.                                         FDGet TSTRING015(INTEGER017)
  2715.                                     Next
  2716.                                     FClose 1
  2717.                                     STRING009 = TSTRING015(1) + TSTRING015(2)
  2718.                                     STRING009 = Strip(STRING009, " ")
  2719.                                     For INTEGER018 = 1 To Len(STRING009)
  2720.                                         TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
  2721.                                     Next
  2722.                                     INTEGER006 = 0
  2723.                                     For INTEGER018 = 1 To 99
  2724.                                         INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
  2725.                                     Next
  2726.                                     INTEGER010 = INTEGER006 * 659
  2727.                                     INTEGER004 = INTEGER010
  2728.                                     BOOLEAN015 = 0
  2729.                                     If (INTEGER010 <> TSTRING015(3)) Then
  2730.                                         BOOLEAN015 = 0
  2731.                                     Else
  2732.                                         BOOLEAN015 = 1
  2733.                                     Endif
  2734.                                     Goto LABEL098
  2735.                                     :LABEL101
  2736.                                     FOpen 1, PPEPath() + "UNI.KEY", 0, 0
  2737.                                     FDefIn 1
  2738.                                     For INTEGER017 = 1 To 3
  2739.                                         FDGet TSTRING015(INTEGER017)
  2740.                                     Next
  2741.                                     FClose 1
  2742.                                     STRING009 = TSTRING015(1) + TSTRING015(2)
  2743.                                     STRING009 = Strip(STRING009, " ")
  2744.                                     For INTEGER018 = 1 To Len(STRING009)
  2745.                                         TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
  2746.                                     Next
  2747.                                     INTEGER006 = 0
  2748.                                     For INTEGER018 = 1 To 99
  2749.                                         INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
  2750.                                     Next
  2751.                                     INTEGER010 = INTEGER006 * 659
  2752.                                     INTEGER004 = INTEGER010
  2753.                                     BOOLEAN015 = 0
  2754.                                     If (INTEGER010 <> TSTRING015(3)) Then
  2755.                                         BOOLEAN015 = 0
  2756.                                     Else
  2757.                                         BOOLEAN015 = 1
  2758.                                     Endif
  2759.                                     Goto LABEL098
  2760.                                     :LABEL102
  2761.                                     FOpen 1, PPEPath() + "CALLBACK.KEY", 0, 0
  2762.                                     FDefIn 1
  2763.                                     For INTEGER017 = 1 To 4
  2764.                                         FDGet TSTRING015(INTEGER017)
  2765.                                     Next
  2766.                                     FClose 1
  2767.                                     STRING009 = TSTRING015(1) + TSTRING015(2) + TSTRING015(3)
  2768.                                     STRING009 = Strip(STRING009, " ")
  2769.                                     For INTEGER018 = 1 To Len(STRING009)
  2770.                                         TINTEGER019(INTEGER018) = Asc(Mid(STRING009, INTEGER018, 1))
  2771.                                     Next
  2772.                                     INTEGER006 = 0
  2773.                                     For INTEGER018 = 1 To 99
  2774.                                         INTEGER006 = INTEGER006 + TINTEGER019(INTEGER018)
  2775.                                     Next
  2776.                                     INTEGER010 = INTEGER006 * 709
  2777.                                     BOOLEAN015 = 0
  2778.                                     If (INTEGER010 <> TSTRING015(4)) Then
  2779.                                         BOOLEAN015 = 0
  2780.                                     Else
  2781.                                         BOOLEAN015 = 1
  2782.                                     Endif
  2783.                                     Goto LABEL098
  2784.                                     :LABEL103
  2785.                                     INTEGER003 = FileInf(PPEPath() + "LBKDIAL.PLT", 4)
  2786.                                     INTEGER006 = (INTEGER003 - 41) / 28
  2787.                                     INTEGER010 = 1
  2788.                                     FSeek 2, 41, 0
  2789.                                     While (INTEGER010 <= INTEGER006) Do
  2790.                                         FRead 2, BOOLEAN003, 1
  2791.                                         FRead 2, BOOLEAN026, 1
  2792.                                         For BYTE016 = 0 To 5
  2793.                                             FRead 2, TBYTE021(BYTE016), 1
  2794.                                         Next
  2795.                                         FRead 2, STRING008, 10
  2796.                                         FRead 2, BYTE001, 1
  2797.                                         FRead 2, BYTE002, 1
  2798.                                         FRead 2, WORD006, 2
  2799.                                         STRING008 = Trim(STRING008, " ")
  2800.                                         FSeek 2, 6, 1
  2801.                                         If (BOOLEAN003) Goto LABEL106
  2802.                                         If (STRING008 == STRING022) Then
  2803.                                             BOOLEAN014 = 0
  2804.                                             If (BOOLEAN026) Then
  2805.                                                 BOOLEAN013 = 1
  2806.                                             Else
  2807.                                                 BOOLEAN013 = 0
  2808.                                             Endif
  2809.                                             If (BOOLEAN008) BOOLEAN013 = 0
  2810.                                             If ((WORD006 <> 0) || ((WORD006 == 0) && BOOLEAN041)) Then
  2811.                                                 If ((WORD006 == 0) && BOOLEAN041) Then
  2812.                                                     DATE002 = 0
  2813.                                                     Goto LABEL105
  2814.                                                 Endif
  2815.                                                 If (BOOLEAN036) Goto LABEL104
  2816.                                                 DATE002 = Date() + WORD006
  2817.                                                 Goto LABEL105
  2818.                                                 :LABEL104
  2819.                                                 DATE002 = U_ExpDate + WORD006
  2820.                                             Endif
  2821.                                             :LABEL105
  2822.                                             Gosub LABEL107
  2823.                                             Return
  2824.                                         Else
  2825.                                             BOOLEAN014 = 1
  2826.                                         Endif
  2827.                                         :LABEL106
  2828.                                         Inc INTEGER010
  2829.                                     EndWhile
  2830.                                     Return
  2831.                                     :LABEL107
  2832.                                     If (Exist(PPEPath() + "MULTIPBX.LST")) Then
  2833.                                         FOpen 4, PPEPath() + "MULTIPBX.LST", 0, 0
  2834.                                         STRING008 = ""
  2835.                                         :LABEL108
  2836.                                         If (Ferr(4)) Goto LABEL110
  2837.                                         FGet 4, STRING008
  2838.                                         Tokenize STRING008
  2839.                                         STRING012 = Upper(GetToken())
  2840.                                         STRING009 = Upper(GetToken())
  2841.                                         If (STRING012 == STRING022) Then
  2842.                                             STRING018 = STRING009
  2843.                                             Goto LABEL109
  2844.                                         Endif
  2845.                                         :LABEL109
  2846.                                         Goto LABEL108
  2847.                                         :LABEL110
  2848.                                         FClose 4
  2849.                                     Endif
  2850.                                     Return
  2851.                                     :LABEL111
  2852.                                     PrintLn 
  2853.                                     Select Case (BYTE019)
  2854.                                         Case 1
  2855.                                             STRING009 = TSTRING030(8)
  2856.                                         Case 2
  2857.                                             STRING009 = PPEPath() + Mid(STRING022, 1, 8) + ".TBL"
  2858.                                             STRING009 = Strip(Upper(STRING009), " ")
  2859.                                     End Select
  2860.                                     If (Exist(STRING009)) Then
  2861.                                         INTEGER003 = FileInf(STRING009, 4)
  2862.                                         INTEGER006 = (INTEGER003 - 43) / 25
  2863.                                         FOpen 1, STRING009, 0, 0
  2864.                                         If (Ferr(1)) Then
  2865.                                             BOOLEAN019 = 1
  2866.                                             Goto LABEL112
  2867.                                         Endif
  2868.                                         BOOLEAN019 = 0
  2869.                                         :LABEL112
  2870.                                         If (BOOLEAN019) Then
  2871.                                             OpText STRING009
  2872.                                             WORD004 = 9
  2873.                                             Gosub LABEL127
  2874.                                             If (BOOLEAN027) DispStr STRING032
  2875.                                             WORD004 = 8
  2876.                                             Gosub LABEL127
  2877.                                             If (BOOLEAN027) Log STRING032 + " " + STRING009, 0
  2878.                                             WORD004 = 27
  2879.                                             Gosub LABEL127
  2880.                                             If (BOOLEAN027) Log STRING032, 0
  2881.                                             FClose 1
  2882.                                             Goto LABEL131
  2883.                                         Endif
  2884.                                         BOOLEAN021 = 0
  2885.                                         BOOLEAN022 = 0
  2886.                                         INTEGER010 = 1
  2887.                                         FDefIn 1
  2888.                                         FSeek 1, 43, 0
  2889.                                         While (!BOOLEAN021 && (INTEGER010 <= INTEGER006)) Do
  2890.                                             FDRead BOOLEAN003, 1
  2891.                                             FDRead WORD007, 2
  2892.                                             FDRead DATE006, 2
  2893.                                             FDRead TIME004, 4
  2894.                                             FDRead DATE007, 2
  2895.                                             FDRead TIME005, 4
  2896.                                             FSeek 1, 10, 1
  2897.                                             If ((!BOOLEAN003 && ((PcbNode() == WORD007) || (WORD007 == 0))) && (DATE006 + DATE007 + TIME004 + TIME005 <> 0)) Then
  2898.                                                 If (DATE006 == 0) DATE005 = Date()
  2899.                                                 If (DATE007 == 0) DATE008 = Date()
  2900.                                                 If (DATE005 <= Date()) Then
  2901.                                                     If (DATE008 >= Date()) Then
  2902.                                                         TIME003 = Time()
  2903.                                                         If (TIME004 <= TIME003) Then
  2904.                                                             If (TIME005 > TIME003) Then
  2905.                                                                 BOOLEAN021 = 1
  2906.                                                                 BOOLEAN022 = 1
  2907.                                                             Endif
  2908.                                                         Endif
  2909.                                                     Endif
  2910.                                                 Endif
  2911.                                             Endif
  2912.                                             Inc INTEGER010
  2913.                                         EndWhile
  2914.                                         FClose 1
  2915.                                     Endif
  2916.                                     Return
  2917.                                     :LABEL113
  2918.                                     If (Exist(PPEPath() + "LBKBACK.CAL")) Then
  2919.                                         FAppend 1, PPEPath() + "LBKBACK.CAL", 1, 2
  2920.                                         If (Ferr(1)) Then
  2921.                                             BOOLEAN019 = 1
  2922.                                         Else
  2923.                                             BOOLEAN019 = 0
  2924.                                         Endif
  2925.                                         If (BOOLEAN019) Then
  2926.                                             OpText PPEPath() + "LBKBACK.CAL"
  2927.                                             WORD004 = 9
  2928.                                             Gosub LABEL127
  2929.                                             If (BOOLEAN027) DispStr STRING032
  2930.                                             WORD004 = 8
  2931.                                             Gosub LABEL127
  2932.                                             If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKBACK.CAL", 0
  2933.                                             WORD004 = 27
  2934.                                             Gosub LABEL127
  2935.                                             If (BOOLEAN027) Log STRING032, 0
  2936.                                             Log "USER WAS CALLED BACK IN CBONLY MODE!", 0
  2937.                                             FClose 1
  2938.                                             Goto LABEL131
  2939.                                         Endif
  2940.                                     Else
  2941.                                         FCreate 1, PPEPath() + "LBKBACK.CAL", 1, 2
  2942.                                         If (Ferr(1)) Then
  2943.                                             BOOLEAN019 = 1
  2944.                                         Else
  2945.                                             BOOLEAN019 = 0
  2946.                                         Endif
  2947.                                         If (BOOLEAN019) Then
  2948.                                             OpText PPEPath() + "LBKBACK.CAL"
  2949.                                             WORD004 = 9
  2950.                                             Gosub LABEL127
  2951.                                             If (BOOLEAN027) DispStr STRING032
  2952.                                             WORD004 = 8
  2953.                                             Gosub LABEL127
  2954.                                             If (BOOLEAN027) Log STRING032 + " " + PPEPath() + "LBKBACK.CAL", 0
  2955.                                             WORD004 = 27
  2956.                                             Gosub LABEL127
  2957.                                             If (BOOLEAN027) Log STRING032, 0
  2958.                                             Log "USER WAS CALLED BACK IN CBONLY MODE!", 0
  2959.                                             FClose 1
  2960.                                             Goto LABEL131
  2961.                                         Endif
  2962.                                         FPutLn 1, "LoopBack v5.05  Call-Back Only Mode Log"
  2963.                                         FPutLn 1, "Log created at " + String(Time()) + " on " + String(Date())
  2964.                                         FPutLn 1, "----------------------------------------------------------------"
  2965.                                         FPutLn 1
  2966.                                     Endif
  2967.                                     FPutLn 1, U_Name() + " at " + String(Time()) + " on " + String(Date())
  2968.                                     If (BOOLEAN017 && BOOLEAN012) Then
  2969.                                         FPutLn 1, "Number called: " + STRING021 + "-" + STRING006 + "-" + STRING007
  2970.                                     Else
  2971.                                         FPutLn 1, "Number called: " + STRING010 + "-" + STRING011 + "-" + STRING023
  2972.                                     Endif
  2973.                                     FPutLn 1, "----------------------------------------------------------------"
  2974.                                     FClose 1
  2975.                                     Return
  2976.                                     :LABEL114
  2977.                                     BOOLEAN033 = 0
  2978.                                     If (Exist(PPEPath() + "LBKCID.CFG")) Then
  2979.                                         BOOLEAN033 = 1
  2980.                                         BOOLEAN039 = 0
  2981.                                         BOOLEAN037 = 0
  2982.                                         BOOLEAN038 = 0
  2983.                                         FOpen 1, PPEPath() + "LBKCID.CFG", 0, 0
  2984.                                         FGet 1, STRING008
  2985.                                         FGet 1, STRING009
  2986.                                         BYTE024 = S2I(STRING009, 10)
  2987.                                         FGet 1, STRING009
  2988.                                         WORD010 = S2I(STRING009, 10)
  2989.                                         FGet 1, STRING009
  2990.                                         BYTE023 = S2I(STRING009, 10)
  2991.                                         FGet 1, STRING009
  2992.                                         If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN037 = 1
  2993.                                         FGet 1, STRING009
  2994.                                         If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN038 = 1
  2995.                                         FGet 1, STRING009
  2996.                                         If (Mid(Upper(Trim(STRING009, " ")), 1, 1) == "Y") BOOLEAN039 = 1
  2997.                                         FClose 1
  2998.                                         STRING008 = Trim(STRING008, " ")
  2999.                                         If (STRING008 <> "") Then
  3000.                                             FOpen 1, STRING008, 0, 0
  3001.                                             FDefIn 1
  3002.                                             STRING008 = ""
  3003.                                             :LABEL115
  3004.                                             If (Ferr(1)) Goto LABEL116
  3005.                                             FDGet STRING008
  3006.                                             STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
  3007.                                             If (STRING008 <> "") Gosub LABEL117
  3008.                                             Goto LABEL115
  3009.                                             :LABEL116
  3010.                                             FClose 1
  3011.                                         Else
  3012.                                             STRING008 = CallId()
  3013.                                             STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
  3014.                                             Gosub LABEL117
  3015.                                         Endif
  3016.                                     Else
  3017.                                         STRING008 = CallId()
  3018.                                         STRING008 = Strip(Strip(Strip(Strip(Strip(STRING008, " "), ")"), "("), "-"), "+")
  3019.                                         Gosub LABEL117
  3020.                                     Endif
  3021.                                     :LABEL117
  3022.                                     STRING009 = ""
  3023.                                     STRING013 = ""
  3024.                                     STRING014 = ""
  3025.                                     If (Mid(STRING008, 1, 2) == "03") Then
  3026.                                         For BYTE016 = 1 To Len(STRING025)
  3027.                                             STRING013 = "3" + Mid(STRING025, BYTE016, 1)
  3028.                                         Next
  3029.                                         For BYTE016 = 1 To Len(STRING024)
  3030.                                             STRING014 = "3" + Mid(STRING024, BYTE016, 1)
  3031.                                         Next
  3032.                                     Endif
  3033.                                     If ((((InStr(STRING008, STRING025) <> 0) || (InStr(STRING008, STRING024) <> 0)) || ((STRING013 <> "") && (InStr(STRING008, STRING013) <> 0))) || ((STRING014 <> "") && (InStr(STRING008, STRING014) <> 0))) Then
  3034.                                         WORD004 = 64
  3035.                                         Gosub LABEL127
  3036.                                         DispStr STRING032
  3037.                                         Delay 20
  3038.                                         If (!OnLocal() || BOOLEAN004) Then
  3039.                                             WORD004 = 7
  3040.                                             Gosub LABEL127
  3041.                                             If (BOOLEAN027) DispStr STRING032
  3042.                                             Delay 20
  3043.                                             If (BOOLEAN033) Goto LABEL118
  3044.                                             If (BYTE007 <> 0) U_Sec = BYTE007
  3045.                                             If ((DATE009 <> 0) || ((DATE009 == 0) && BOOLEAN041)) U_ExpDate = DATE009
  3046.                                             If (BYTE008 <> 0) U_ExpSec = BYTE008
  3047.                                             Goto LABEL121
  3048.                                             :LABEL118
  3049.                                             If (BYTE024 <> 0) U_Sec = BYTE024
  3050.                                             If ((WORD010 <> 0) || ((WORD010 == 0) && BOOLEAN041)) Then
  3051.                                                 If (BOOLEAN041 && (WORD010 == 0)) Then
  3052.                                                     U_ExpDate = 0
  3053.                                                     Goto LABEL120
  3054.                                                 Endif
  3055.                                                 If (BOOLEAN036) Goto LABEL119
  3056.                                                 U_ExpDate = Date() + WORD010
  3057.                                                 Goto LABEL120
  3058.                                                 :LABEL119
  3059.                                                 U_ExpDate = U_ExpDate + WORD010
  3060.                                             Endif
  3061.                                             :LABEL120
  3062.                                             If (BYTE023 <> 0) U_ExpSec = BYTE023
  3063.                                             :LABEL121
  3064.                                             Message 0, U_Name(), "SYSOP", "CALLER-ID VERIFIED", "R", Date() + 5, 0, 0, PPEPath() + "USERCID.MSG"
  3065.                                             Message 0, "SYSOP", U_Name(), "USER VERIFIED VIA CID", "R", Date() + 5, 0, 0, PPEPath() + "SYSCID.MSG"
  3066.                                             PutUser
  3067.                                             If (EvtTimeAdj()) Goto LABEL123
  3068.                                             If (BOOLEAN016) Then
  3069.                                                 AdjTime INTEGER005
  3070.                                                 Goto LABEL122
  3071.                                             Endif
  3072.                                             AdjTime INTEGER005 - MinLeft()
  3073.                                             :LABEL122
  3074.                                             Goto LABEL124
  3075.                                             :LABEL123
  3076.                                             WORD004 = 40
  3077.                                             Gosub LABEL127
  3078.                                             If (BOOLEAN027) Log STRING032, 0
  3079.                                             WORD004 = 34
  3080.                                             Gosub LABEL127
  3081.                                             If (BOOLEAN027) DispStr STRING032
  3082.                                             :LABEL124
  3083.                                             AdjDBytes INTEGER015
  3084.                                             AdjTBytes INTEGER016
  3085.                                             AdjTFiles WORD009
  3086.                                             WORD004 = 29
  3087.                                             Gosub LABEL127
  3088.                                             If (BOOLEAN027) DispStr STRING032
  3089.                                             If ((TSTRING030(10) <> "") && (TSTRING030(10) <> "NONE")) Then
  3090.                                                 OpText FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9)
  3091.                                                 WORD004 = 33
  3092.                                                 Gosub LABEL127
  3093.                                                 If (BOOLEAN027) DispStr STRING032
  3094.                                                 Flag TSTRING030(10)
  3095.                                                 WORD004 = 41
  3096.                                                 Gosub LABEL127
  3097.                                                 If (BOOLEAN027) Log STRING032 + " " + FileInf(TSTRING030(10), 8) + "." + FileInf(TSTRING030(10), 9) , 0
  3098.                                                 Delay 9
  3099.                                                 If (BOOLEAN029) Download ""
  3100.                                             Endif
  3101.                                             WORD004 = 31
  3102.                                             Gosub LABEL127
  3103.                                             If (BOOLEAN027) DispStr STRING032
  3104.                                         Endif
  3105.                                         WORD004 = 65
  3106.                                         Gosub LABEL127
  3107.                                         Delay 20
  3108.                                         Log STRING032, 0
  3109.                                         FClose 1
  3110.                                     Else
  3111.                                         Return
  3112.                                         :LABEL125
  3113.                                         STRING008 = Upper(GetEnv("LOOPBACK"))
  3114.                                         BOOLEAN030 = 0
  3115.                                         BOOLEAN031 = 0
  3116.                                         BOOLEAN032 = 0
  3117.                                         BOOLEAN034 = 0
  3118.                                         BOOLEAN035 = 0
  3119.                                         BOOLEAN036 = 0
  3120.                                         BOOLEAN040 = 0
  3121.                                         BOOLEAN041 = 0
  3122.                                         If (InStr(STRING008, "/LOCALONLY")) Then
  3123.                                             If (OnLocal()) Goto LABEL126
  3124.                                             PrintLn 
  3125.                                             PrintLn "@X0CSorry, only local callers allowed on this node..."
  3126.                                             PrintLn 
  3127.                                             Wait
  3128.                                         Else
  3129.                                             :LABEL126
  3130.                                             If (InStr(STRING008, "/ALERT")) BOOLEAN030 = 1
  3131.                                             If (InStr(STRING008, "/NOINFO")) BOOLEAN031 = 1
  3132.                                             If (InStr(STRING008, "/BYPASS")) BOOLEAN032 = 1
  3133.                                             If (InStr(STRING008, "/TRACE")) BOOLEAN034 = 1
  3134.                                             If (InStr(STRING008, "/NOCBONLY")) BOOLEAN035 = 1
  3135.                                             If (InStr(STRING008, "/ADDEXPDAYS")) BOOLEAN036 = 1
  3136.                                             If (InStr(STRING008, "/ALLINT")) BOOLEAN040 = 1
  3137.                                             If (InStr(STRING008, "/ZEROEXP")) BOOLEAN041 = 1
  3138.                                             STRING008 = ""
  3139.                                             Return
  3140.                                             :LABEL127
  3141.                                             FSeek 5, 39 + WORD004 * 97 - 97, 0
  3142.                                             FSeek 5, 1, 1
  3143.                                             FRead 5, BOOLEAN027, 1
  3144.                                             FSeek 5, 4, 1
  3145.                                             FRead 5, STRING032, 75
  3146.                                             FRead 5, BOOLEAN028, 1
  3147.                                             If (BOOLEAN028) PrintLn 
  3148.                                             Return
  3149.                                             :LABEL128
  3150.                                             Color 7
  3151.                                             SPrint Chr(27) + "[2J"
  3152.                                             SPrint " "
  3153.                                             Print "@POFF@"
  3154.                                             SPrint "┌────────────────────────────────────────────────────────────────────────────"
  3155.                                             SPrint "┐"
  3156.                                             SPrintLn ""
  3157.                                             SPrint " "
  3158.                                             SPrint "│ "
  3159.                                             SPrint "Caller : "
  3160.                                             SPrint "" + Left(Upper(U_Name()) + Space(29), 29)
  3161.                                             SPrint "From : "
  3162.                                             SPrint "" + Left(Upper(U_City) + Space(30), 30)
  3163.                                             SPrint "│"
  3164.                                             SPrintLn ""
  3165.                                             SPrint " "
  3166.                                             SPrint "│ "
  3167.                                             SPrint "Upgraded Lvl : "
  3168.                                             If (BYTE001 <> 0) Then
  3169.                                                 STRING008 = String(BYTE001)
  3170.                                             Else
  3171.                                                 STRING008 = "N/A"
  3172.                                             Endif
  3173.                                             SPrint "" + Left(STRING008 + Space(23), 23)
  3174.                                             SPrint "New Exp. Date : "
  3175.                                             SPrint "" + Left(String(DATE002) + Space(21), 21)
  3176.                                             SPrint "│"
  3177.                                             SPrintLn ""
  3178.                                             SPrint " "
  3179.                                             SPrint "│ "
  3180.                                             SPrint "Password: "
  3181.                                             SPrint "" + Left(U_Pwd + Space(28), 28)
  3182.                                             SPrint "Node : "
  3183.                                             SPrint "" + Left(PcbNode() + Space(30), 30)
  3184.                                             SPrint "│"
  3185.                                             SPrintLn ""
  3186.                                             SPrint " "
  3187.                                             SPrint "│                                                                            "
  3188.                                             SPrint "│"
  3189.                                             SPrintLn ""
  3190.                                             SPrint " "
  3191.                                             SPrint "│   "
  3192.                                             SPrint "┌────────────────────────────────────────────────────────────────────"
  3193.                                             SPrint "┐   "
  3194.                                             SPrint "│"
  3195.                                             SPrintLn ""
  3196.                                             SPrint " "
  3197.                                             SPrint "│   "
  3198.                                             SPrint "│ "
  3199.                                             SPrint "Total # Callbacks: "
  3200.                                             SPrint "" + Left(String(INTEGER011) + Space(13), 13)
  3201.                                             SPrint "Delaying : "
  3202.                                             SPrint "No   "
  3203.                                             SPrint "Date    : "
  3204.                                             SPrint "" + Left(String(Date()) + Space(9), 9)
  3205.                                             SPrint "│   "
  3206.                                             SPrint "│"
  3207.                                             SPrintLn ""
  3208.                                             SPrint " "
  3209.                                             SPrint "│   "
  3210.                                             SPrint "│ "
  3211.                                             SPrint "Dialing Template : "
  3212.                                             SPrint "" + Left(STRING022 + Space(15), 15)
  3213.                                             SPrint "Logoff : "
  3214.                                             SPrint ""
  3215.                                             If (BOOLEAN013) Then
  3216.                                                 SPrint "Yes  "
  3217.                                             Else
  3218.                                                 SPrint "No   "
  3219.                                             Endif
  3220.                                             SPrint "Overseas: "
  3221.                                             SPrint ""
  3222.                                             If (BOOLEAN012 && BOOLEAN017) Then
  3223.                                                 SPrint "Yes      "
  3224.                                             Else
  3225.                                                 SPrint "No       "
  3226.                                             Endif
  3227.                                             SPrint "│   "
  3228.                                             SPrint "│"
  3229.                                             SPrintLn ""
  3230.                                             SPrint " "
  3231.                                             SPrint "│   "
  3232.                                             SPrint "│ "
  3233.                                             SPrint "Comment(s) to add: "
  3234.                                             SPrint ""
  3235.                                             Select Case (BYTE011)
  3236.                                                 Case 0
  3237.                                                     SPrint "None         "
  3238.                                                 Case 1
  3239.                                                     SPrint "Date/Time    "
  3240.                                                 Case 2
  3241.                                                     SPrint "Phone #      "
  3242.                                                 Case 3
  3243.                                                     SPrint "Both (D/T/#) "
  3244.                                             End Select
  3245.                                             SPrint " Message : "
  3246.                                             SPrint ""
  3247.                                             Select Case (BYTE010)
  3248.                                                 Case 1
  3249.                                                     SPrint "INT  "
  3250.                                                 Case 2
  3251.                                                     SPrint "EXT  "
  3252.                                                 Case 0
  3253.                                                     SPrint "None "
  3254.                                             End Select
  3255.                                             SPrint ""
  3256.                                             If (BOOLEAN017 && BOOLEAN012) Then
  3257.                                                 SPrint Left(STRING021 + "-" + STRING006 + "-" + STRING007 + Space(19), 19)
  3258.                                             Else
  3259.                                                 SPrint Left(STRING010 + "-" + STRING011 + "-" + STRING023 + Space(19), 19)
  3260.                                             Endif
  3261.                                             SPrint "│   "
  3262.                                             SPrint "│"
  3263.                                             SPrintLn ""
  3264.                                             SPrint " "
  3265.                                             SPrint "│   "
  3266.                                             SPrint "│      "
  3267.                                             SPrint "┌─────────────────────────────────────────────────────────"
  3268.                                             SPrint "┐   "
  3269.                                             SPrint "│   "
  3270.                                             SPrint "│"
  3271.                                             SPrintLn ""
  3272.                                             SPrint " "
  3273.                                             SPrint "│   "
  3274.                                             SPrint "│"
  3275.                                             SPrint "ACTION"
  3276.                                             SPrint "│ "
  3277.                                             SPrint "Please wait, disconnecting caller...                    "
  3278.                                             SPrint "│   "
  3279.                                             SPrint "│   "
  3280.                                             SPrint "│"
  3281.                                             SPrintLn ""
  3282.                                             SPrint " "
  3283.                                             SPrint "│   "
  3284.                                             SPrint "│      "
  3285.                                             SPrint "└"
  3286.                                             SPrint "─────────────────────────────────────────────────────────┘   "
  3287.                                             SPrint "│   "
  3288.                                             SPrint "│"
  3289.                                             SPrintLn ""
  3290.                                             SPrint " "
  3291.                                             SPrint "│   "
  3292.                                             SPrint "│                "
  3293.                                             SPrint "Last 5 verifications                     "
  3294.                                             STRING008 = ReadLine(PCBDat(), 52)
  3295.                                             STRING008 = Strip(STRING008, ":")
  3296.                                             STRING008 = Strip(STRING008, " ")
  3297.                                             SPrint ""
  3298.                                             If (STRING008 <> "NONE") Then
  3299.                                                 If (Mid(STRING008, 1, 1) == "C") Then
  3300.                                                     SPrint Mid(STRING008, 1, 3)
  3301.                                                     SPrint " "
  3302.                                                     SPrint Left(Mid(STRING008, 4, Len(STRING008) - 3) + Space(7), 7)
  3303.                                                 Else
  3304.                                                     Backup 1
  3305.                                                     SPrint Mid(STRING008, 1, 4)
  3306.                                                     SPrint " "
  3307.                                                     SPrint Left(Mid(STRING008, 5, Len(STRING008) - 4) + Space(7), 7)
  3308.                                                 Endif
  3309.                                             Else
  3310.                                                 SPrint "LOCAL      "
  3311.                                             Endif
  3312.                                             SPrint "│   "
  3313.                                             SPrint "│"
  3314.                                             SPrintLn ""
  3315.                                             SPrint " "
  3316.                                             SPrint "│   "
  3317.                                             SPrint "│   "
  3318.                                             SPrint "┌───────────────────────────────────────────────"
  3319.                                             SPrint "┐ "
  3320.                                             SPrint "┌────────────"
  3321.                                             SPrint "┐ "
  3322.                                             SPrint "│   "
  3323.                                             SPrint "│"
  3324.                                             SPrintLn ""
  3325.                                             SPrint " "
  3326.                                             SPrint "│   "
  3327.                                             SPrint "│   "
  3328.                                             SPrint "│"
  3329.                                             SPrint "" + Left(Trim(TSTRING028(5), " ") + Space(28), 28)
  3330.                                             SPrint "" + String(TDATE004(5)) + Space(3)
  3331.                                             SPrint "" + String(TTIME002(5))
  3332.                                             SPrint "│ "
  3333.                                             SPrint "│  "
  3334.                                             SPrint "CONNECT   "
  3335.                                             SPrint "│ "
  3336.                                             SPrint "│   "
  3337.                                             SPrint "│"
  3338.                                             SPrintLn ""
  3339.                                             SPrint " "
  3340.                                             SPrint "│   "
  3341.                                             SPrint "│   "
  3342.                                             SPrint "│"
  3343.                                             SPrint "" + Left(Trim(TSTRING028(4), " ") + Space(28), 28)
  3344.                                             SPrint "" + String(TDATE004(4)) + Space(3)
  3345.                                             SPrint "" + String(TTIME002(4))
  3346.                                             SPrint "│ "
  3347.                                             SPrint "│   "
  3348.                                             SPrint ""
  3349.                                             STRING008 = ""
  3350.                                             STRING008 = ReadLine(PCBDat(), 53)
  3351.                                             STRING008 = Strip(STRING008, " ")
  3352.                                             SPrint Left(STRING008 + Space(9), 9)
  3353.                                             SPrint "│ "
  3354.                                             SPrint "│   "
  3355.                                             SPrint "│"
  3356.                                             SPrintLn ""
  3357.                                             SPrint " "
  3358.                                             SPrint "│   "
  3359.                                             SPrint "│   "
  3360.                                             SPrint "│"
  3361.                                             SPrint "" + Left(Trim(TSTRING028(3), " ") + Space(28), 28)
  3362.                                             SPrint "" + String(TDATE004(3)) + Space(3)
  3363.                                             SPrint "" + String(TTIME002(3))
  3364.                                             SPrint "│ "
  3365.                                             SPrint "│ "
  3366.                                             SPrint "────────── │ "
  3367.                                             SPrint "│   "
  3368.                                             SPrint "│"
  3369.                                             SPrintLn ""
  3370.                                             SPrint " "
  3371.                                             SPrint "│   "
  3372.                                             SPrint "│   "
  3373.                                             SPrint "│"
  3374.                                             SPrint "" + Left(Trim(TSTRING028(2), " ") + Space(28), 28)
  3375.                                             SPrint "" + String(TDATE004(2)) + Space(3)
  3376.                                             SPrint "" + String(TTIME002(2))
  3377.                                             SPrint "│ "
  3378.                                             SPrint "│  "
  3379.                                             SPrint "CARRIER   "
  3380.                                             SPrint "│ "
  3381.                                             SPrint "│   "
  3382.                                             SPrint "│"
  3383.                                             SPrintLn ""
  3384.                                             SPrint " "
  3385.                                             SPrint "│   "
  3386.                                             SPrint "│   "
  3387.                                             SPrint "│"
  3388.                                             SPrint "" + Left(Trim(TSTRING028(1), " ") + Space(28), 28)
  3389.                                             SPrint "" + String(TDATE004(1)) + Space(3)
  3390.                                             SPrint "" + String(TTIME002(1))
  3391.                                             SPrint "│ "
  3392.                                             SPrint "│   "
  3393.                                             SPrint "" + Left(String(Carrier()) + Space(9), 9)
  3394.                                             SPrint "│ "
  3395.                                             SPrint "│   "
  3396.                                             SPrint "│"
  3397.                                             SPrintLn ""
  3398.                                             SPrint " "
  3399.                                             SPrint "│   "
  3400.                                             SPrint "│   "
  3401.                                             SPrint "└"
  3402.                                             SPrint "───────────────────────────────────────────────┘ "
  3403.                                             SPrint "└"
  3404.                                             SPrint "────────────┘ "
  3405.                                             SPrint "│   "
  3406.                                             SPrint "│"
  3407.                                             SPrintLn ""
  3408.                                             SPrint " "
  3409.                                             SPrint "│   "
  3410.                                             SPrint "└"
  3411.                                             SPrint "────────────────────────────────────────────────────────────────────┘   "
  3412.                                             SPrint "│"
  3413.                                             SPrintLn ""
  3414.                                             SPrint " "
  3415.                                             SPrint "│      "
  3416.                                             SPrint "LoopBack v5.05 Copyright (c)"
  3417.                                             SPrint "96,1997  Practical Computer Services "
  3418.                                             SPrint "     │"
  3419.                                             SPrintLn ""
  3420.                                             SPrint " "
  3421.                                             SPrint "└"
  3422.                                             SPrint "────────────────────────────────────────────────────────────────────────────┘"
  3423.                                             SPrint ""
  3424.                                             Return
  3425.                                             :LABEL129
  3426.                                             If ((INTEGER012 <> 0) && (INTEGER013 <> 0)) Then
  3427.                                                 If (INTEGER012 == 1) Then
  3428.                                                     BYTE022 = 0
  3429.                                                     Goto LABEL130
  3430.                                                 Endif
  3431.                                                 BYTE022 = REAL001
  3432.                                                 :LABEL130
  3433.                                                 REAL001 = ToReal(INTEGER012) / ToReal(INTEGER013)
  3434.                                                 REAL001 = FmtReal(REAL001 * 100, 1, 0)
  3435.                                                 If (BYTE022 <> REAL001) Then
  3436.                                                     Backup Len(String(BYTE022) + "%")
  3437.                                                     Print String(REAL001) + "%"
  3438.                                                 Endif
  3439.                                             Endif
  3440.                                             Return
  3441.                                         Endif
  3442.                                     Endif
  3443.                                 Endif
  3444.                             Endif
  3445.                         Endif
  3446.                     Endif
  3447.                 Endif
  3448.             Endif
  3449.         Endif
  3450.     Endif
  3451.     :LABEL131
  3452.     Gosub LABEL132
  3453.     End
  3454.     :LABEL132
  3455.     FClose 5
  3456.     KeyFlush
  3457.     KbdChkOn
  3458.     Color DefColor()
  3459.     Cls
  3460.     Return
  3461.     :LABEL133
  3462.     Cls
  3463.     PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3464.     PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3465.     PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3466.     PrintLn "                   @X10│                                        @X19│@X0F"
  3467.     PrintLn "                   @X10│ @X1EWhat we are attempting to do here is   @X19│@X0F"
  3468.     PrintLn "                   @X10│ @X1Eto verify the phone number that you    @X19│@X0F"
  3469.     PrintLn "                   @X10│ @X1Eare calling from.  There are 5 steps   @X19│@X0F"
  3470.     PrintLn "                   @X10│ @X1Eto this procedure, and all of them are @X19│@X0F"
  3471.     PrintLn "                   @X10│ @X1Ereally quite simple!  Relax and let    @X19│@X0F"
  3472.     PrintLn "                   @X10│ @X1Eme show what will happen.              @X19│@X0F"
  3473.     PrintLn "                   @X10│                                        @X19│@X0F"
  3474.     PrintLn "                   @X10│ @X1F1.@X1E You will be given a choice between  @X19│@X0F"
  3475.     PrintLn "                   @X10│   @X1E your Home Phone number or your      @X19│@X0F"
  3476.     PrintLn "                   @X10│   @X1E Data Phone number and we even will  @X19│@X0F"
  3477.     PrintLn "                   @X10│   @X1E give you a chance to enter in any   @X19│@X0F"
  3478.     PrintLn "                   @X10│   @X1E other number you are at at the      @X19│@X0F"
  3479.     PrintLn "                   @X10│   @X1E moment (nice eh?).                  @X19│@X0F"
  3480.     PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3481.     Print "                           "
  3482.     Wait
  3483.     Cls
  3484.     PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3485.     PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3486.     PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3487.     PrintLn "                   @X10│                                        @X19│@X0F"
  3488.     PrintLn "                   @X10│ @X1F2. @X1ENext *we* do some searching of our  @X19│@X0F"
  3489.     PrintLn "                   @X10│    @X1Erecords, we verify that your number @X19│@X0F"
  3490.     PrintLn "                   @X10│    @X1Ehas not been previously used, that  @X19│@X0F"
  3491.     PrintLn "                   @X10│    @X1Eyour name has not been verified and @X19│@X0F"
  3492.     PrintLn "                   @X10│    @X1Ethings like the time is right for   @X19│@X0F"
  3493.     PrintLn "                   @X10│    @X1Ecallback.  Basically stuff you do   @X19│@X0F"
  3494.     PrintLn "                   @X10│    @X1Enot need to know about to complete  @X19│@X0F"
  3495.     PrintLn "                   @X10│    @X1Ethe callback.                       @X19│@X0F"
  3496.     PrintLn "                   @X10│                                        @X19│@X0F"
  3497.     PrintLn "                   @X10│ @X1F3. @X1EWe then drop carrier on you (which  @X19│@X0F"
  3498.     PrintLn "                   @X10│    @X1Emeans we hang up the phone, break   @X19│@X0F"
  3499.     PrintLn "                   @X10│    @X1Ethe connection or disconnect our    @X19│@X0F"
  3500.     PrintLn "                   @X10│    @X1Etwo computers.                      @X19│@X0F"
  3501.     PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3502.     Print "                           "
  3503.     Wait
  3504.     Cls
  3505.     PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3506.     PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3507.     PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3508.     PrintLn "                   @X10│                                        @X19│@X0F"
  3509.     PrintLn "                   @X10│ @X1F4.@X1E But never fear!  We are going to    @X19│@X0F"
  3510.     PrintLn "                   @X10│   @X1E call you back!  Thats right, our    @X19│@X0F"
  3511.     PrintLn "                   @X10│   @X1E computer will hang up the phone,    @X19│@X0F"
  3512.     PrintLn "                   @X10│   @X1E wait for about 20 to 30 seconds     @X19│@X0F"
  3513.     PrintLn "                   @X10│   @X1E and then dial the number you had    @X19│@X0F"
  3514.     PrintLn "                   @X10│   @X1E entered in the 1st step (easy       @X19│@X0F"
  3515.     PrintLn "                   @X10│   @X1E concept, no?)  What you will do is  @X19│@X0F"
  3516.     PrintLn "                   @X10│   @X1E this:  Do nothing for the 20 to 30  @X19│@X0F"
  3517.     PrintLn "                   @X10│   @X1E seconds until you see the word      @X19│@X0F"
  3518.     PrintLn "                   @X10│   @X1E RING appear on your screen (no it   @X19│@X0F"
  3519.     PrintLn "                   @X10│   @X1E isn't magic, but darn close!)       @X19│@X0F"
  3520.     PrintLn "                   @X10│                                        @X19│@X0F"
  3521.     PrintLn "                   @X10│                                        @X19│@X0F"
  3522.     PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3523.     Print "                           "
  3524.     Wait
  3525.     Cls
  3526.     PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3527.     PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3528.     PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3529.     PrintLn "                   @X10│                                        @X19│@X0F"
  3530.     PrintLn "                   @X10│  @X1BYou See: @X17RING                         @X19│@X0F"
  3531.     PrintLn "                   @X10│                                        @X19│@X0F"
  3532.     PrintLn "                   @X10│ @X1BYou Type: @X17ATA  @X1B(@X1Cthen the enter key@X1B)    @X19│@X0F"
  3533.     PrintLn "                   @X10│                                        @X19│@X0F"
  3534.     PrintLn "                   @X10│  @X1EI know you are saying to yourself     @X19│@X0F"
  3535.     PrintLn "                   @X10│  @X1EWhat does ATA mean?  Well in it's     @X19│@X0F"
  3536.     PrintLn "                   @X10│  @X1Esimplest form your are telling your   @X19│@X0F"
  3537.     PrintLn "                   @X10│  @X1Emodem to AuToAnswer the phone (you    @X19│@X0F"
  3538.     PrintLn "                   @X10│  @X1Egot that didn't you?)  By typing      @X19│@X0F"
  3539.     PrintLn "                   @X10│  @X1EATA your modem will answer our modems @X19│@X0F"
  3540.     PrintLn "                   @X10│  @X1Ecall and they will do the mysterious  @X19│@X0F"
  3541.     PrintLn "                   @X10│  @X1Ethings modems do when they talk to    @X19│@X0F"
  3542.     PrintLn "                   @X10│  @X1Eeach other.                           @X19│@X0F"
  3543.     PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3544.     Print "                           "
  3545.     Wait
  3546.     Cls
  3547.     PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3548.     PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3549.     PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3550.     PrintLn "                   @X10│                                        @X19│@X0F"
  3551.     PrintLn "                   @X10│ @X1F5.@X1E After about 15 to 30 seconds of     @X19│@X0F"
  3552.     PrintLn "                   @X10│   @X1E modem talk, you will be connected   @X19│@X0F"
  3553.     PrintLn "                   @X10│   @X1E back here, and you will be asked    @X19│@X0F"
  3554.     PrintLn "                   @X10│   @X1E for your password, type that in     @X19│@X0F"
  3555.     PrintLn "                   @X10│   @X1E and again like magic you will have  @X19│@X0F"
  3556.     PrintLn "                   @X10│   @X1E completed the infamous callback     @X19│@X0F"
  3557.     PrintLn "                   @X10│    @X1Everifier (Known lovingly as CBVers).@X19│@X0F"
  3558.     PrintLn "                   @X10│                                        @X19│@X0F"
  3559.     PrintLn "                   @X10│    @X1EThe following is a DEMO of what it  @X19│@X0F"
  3560.     PrintLn "                   @X10│    @X1Ewill look like, this will show you  @X19│@X0F"
  3561.     PrintLn "                   @X10│    @X1Ehow things will look, after this    @X19│@X0F"
  3562.     PrintLn "                   @X10│    @X1Eyou can do the real thing (and it   @X19│@X0F"
  3563.     PrintLn "                   @X10│    @X1Eisn't that hard - Trust us!).       @X19│@X0F"
  3564.     PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3565.     Print "                           "
  3566.     Wait
  3567.     Cls
  3568.     :LABEL134
  3569.     Cls
  3570.     Delay (5 * 182) / 10
  3571.     Newlines 5
  3572.     Print "@X0ENow we are waiting for the word @X07RING @X0Eto appear - Keep watching!@X0F"
  3573.     Delay (5 * 182) / 10
  3574.     Backup 80
  3575.     ClrEol
  3576.     Print "@X0EOnce we do see the word we want to type @X07ATA@X0E (@X0Athen hit the enter key!@X0E)@X0F"
  3577.     Delay (5 * 182) / 10
  3578.     Backup 80
  3579.     ClrEol
  3580.     Print "@X0EWe have waited about half the normal time for a callback - Seems long eh?@X0F"
  3581.     Delay (5 * 182) / 10
  3582.     Backup 80
  3583.     ClrEol
  3584.     Print "@X0EQuick tip, put on your @X0BCAPS LOCK @X0Ekey now, so you don't have to remember!@X0F"
  3585.     Delay (5 * 182) / 10
  3586.     Backup 80
  3587.     ClrEol
  3588.     Print "@X0EHere it comes @X0A- @X0Edo not blink! @X0A- @X0EBut stay relaxed, roll your shoulders a bit!@X0F"
  3589.     Delay (5 * 182) / 10
  3590.     Cls
  3591.     MdmFlush
  3592.     KbdFlush
  3593.     Newlines 1
  3594.     PrintLn "@X07RING@X0F                                     @X0E▌@X0AThere it is! Hard to beleive!@X0E   ▌"
  3595.     PrintLn "                                         ▌@X0AQuick now, type in @X07ATA @X0Aand   @X0E   ▌@X0F"
  3596.     PrintLn "                                         @X0E▌@X0Atap the ENTER key.           @X0E   ▌@X0F"
  3597.     Print "                                         @X0E▌@X0CYou type what? @X8CGo ahead type it!@X0E▌@X0F"
  3598.     Backup 80
  3599.     InputStr "_", STRING016, 15, 4, Mask_Ascii(), 0
  3600.     If (STRING016 == "ATA") Then
  3601.         Cls
  3602.         PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3603.         PrintLn "                   @X10│      @X1A LoopBack v5.0 Tutorial           @X19│@X0F"
  3604.         PrintLn "                   @X10│      @X1D ──────────────────────           @X19│@X0F"
  3605.         PrintLn "                   @X10│                                        @X19│@X0F"
  3606.         PrintLn "                   @X10│ @X1EAnd you thought this was going to be   @X19│@X0F"
  3607.         PrintLn "                   @X10│ @X1Edifficult!  Now that you have seen     @X19│@X0F"
  3608.         PrintLn "                   @X10│ @X1Eexactly how easy it is, go give it a   @X19│@X0F"
  3609.         PrintLn "                   @X10│ @X1Etry, and remember two things:          @X19│@X0F"
  3610.         PrintLn "                   @X10│                                        @X19│@X0F"
  3611.         PrintLn "                   @X10│ @X1F1. @X1CRELAX!  It will work!               @X19│@X0F"
  3612.         PrintLn "                   @X10│                                        @X19│@X0F"
  3613.         PrintLn "                   @X10│ @X1F2. @X1CWhen you see @X17RING @X1Cyou type @X17ATA @X1Cand  @X19│@X0F"
  3614.         PrintLn "                   @X10│    @X1Cfollow it up with a quick decisive  @X19│@X0F"
  3615.         PrintLn "                   @X10│    @X1Ctap on the enter key, you'll be     @X19│@X0F"
  3616.         PrintLn "                   @X10│    @X1Cjust fine!                          @X19│@X0F"
  3617.         PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3618.         Print "                           "
  3619.         Wait
  3620.         Cls
  3621.     Else
  3622.         Cls
  3623.         PrintLn "                   @X10┌────────────────────────────────────────@X19┐@X0F"
  3624.         PrintLn "                   @X10│       @X1ALoopBack v5.0 Tutorial           @X19│@X0F"
  3625.         PrintLn "                   @X10│       @X1D──────────────────────           @X19│@X0F"
  3626.         PrintLn "                   @X10│                                        @X19│@X0F"
  3627.         PrintLn "                   @X10│ @X1EHmmm, you have to type ATA and you     @X19│@X0F"
  3628.         PrintLn "                   @X10│ @X1Etyped@X1C ", STRING016, "@X1E. Maybe you made a simple@POS:61@@X19│@X0F"
  3629.         PrintLn "                   @X10│ @X1Emistake?  How about watching the live  @X19│@X0F"
  3630.         PrintLn "                   @X10│ @X1Edemo once more just so you can get a   @X19│@X0F"
  3631.         PrintLn "                   @X10│ @X1Efeel for how long it takes and such?   @X19│@X0F"
  3632.         PrintLn "                   @X10│ @X1E                                       @X19│@X0F"
  3633.         PrintLn "                   @X10│         @X1CJust Remeber This:             @X19│@X0F"
  3634.         PrintLn "                   @X10│                                        @X19│@X0F"
  3635.         PrintLn "                   @X10│ @X1F1.@X1B RELAX!  It will work!               @X19│@X0F"
  3636.         PrintLn "                   @X10│                                        @X19│@X0F"
  3637.         PrintLn "                   @X10│ @X1F2. @X1BWhen you see@X17 RING@X1B you type@X17 ATA @X1Band  @X19│@X0F"
  3638.         PrintLn "                   @X10│    @X1Bfollow it up with a quick decisive  @X19│@X0F"
  3639.         PrintLn "                   @X10│    @X1Btap on the enter key, you'll be     @X19│@X0F"
  3640.         PrintLn "                   @X10│    @X1Bjust fine!                          @X19│@X0F"
  3641.         PrintLn "                   @X10└@X19────────────────────────────────────────┘@X0F"
  3642.         PrintLn 
  3643.         InputStr "@X0EHow about seeing the live demo again @X0A(@X0CY@X0A/@X0Cn@X0A) _", STRING016, 15, 1, "YN", 0 + 8
  3644.         If (STRING016 == "") Goto LABEL134
  3645.         If (STRING016 == "Y") Goto LABEL134
  3646.     Endif
  3647.     Return
  3648.  
  3649. ;------------------------------------------------------------------------------
  3650. ;
  3651. ; Usage report (before postprocessing)
  3652. ;
  3653. ; ■ Statements used :
  3654. ;
  3655. ;    1       End
  3656. ;    17      Cls
  3657. ;    4       ClrEol
  3658. ;    23      Wait
  3659. ;    18      Color 
  3660. ;    702     Goto 
  3661. ;    738     Let 
  3662. ;    42      Print 
  3663. ;    245     PrintLn 
  3664. ;    595     If 
  3665. ;    5       DispFile 
  3666. ;    6       FCreate 
  3667. ;    23      FOpen 
  3668. ;    2       FAppend 
  3669. ;    79      FClose 
  3670. ;    8       FGet 
  3671. ;    2       FPut 
  3672. ;    53      FPutLn 
  3673. ;    1       GetUser
  3674. ;    7       PutUser
  3675. ;    3       Delete 
  3676. ;    7       AdjTime 
  3677. ;    92      Log 
  3678. ;    9       InputStr 
  3679. ;    3       InputYN 
  3680. ;    213     Gosub 
  3681. ;    41      Return
  3682. ;    5       PromptStr 
  3683. ;    1       DtrOn
  3684. ;    1       DtrOff
  3685. ;    4       CdChkOn
  3686. ;    1       CdChkOff
  3687. ;    49      Delay 
  3688. ;    2       SendModem 
  3689. ;    23      Inc 
  3690. ;    3       Dec 
  3691. ;    4       Newline
  3692. ;    3       Newlines 
  3693. ;    1       Tokenize 
  3694. ;    1       GetToken 
  3695. ;    1       Shell 
  3696. ;    1       InputText 
  3697. ;    1       Call 
  3698. ;    13      Bye
  3699. ;    5       KbdChkOn
  3700. ;    1       KbdChkOff
  3701. ;    41      OpText 
  3702. ;    78      DispStr 
  3703. ;    2       RdUNet 
  3704. ;    16      WrUNet 
  3705. ;    9       Backup 
  3706. ;    2       FreshLine
  3707. ;    1       WrUSys
  3708. ;    1       RdUSys
  3709. ;    6       Message 
  3710. ;    2       SaveScrn
  3711. ;    2       RestScrn
  3712. ;    3       Sound 
  3713. ;    282     SPrint 
  3714. ;    33      SPrintLn 
  3715. ;    1       MPrint 
  3716. ;    2       MPrintLn 
  3717. ;    31      FSeek 
  3718. ;    39      FRead 
  3719. ;    41      FWrite 
  3720. ;    11      FDefIn 
  3721. ;    4       FDGet 
  3722. ;    69      FDRead 
  3723. ;    2       KbdFlush
  3724. ;    1       MdmFlush
  3725. ;    15      KeyFlush
  3726. ;    2       Flag 
  3727. ;    2       Download 
  3728. ;    2       AdjDBytes 
  3729. ;    2       AdjTBytes 
  3730. ;    2       AdjTFiles 
  3731. ;
  3732. ;
  3733. ; ■ Functions used :
  3734. ;
  3735. ;    1       +
  3736. ;    3       -
  3737. ;    17      *
  3738. ;    22      /
  3739. ;    692     +
  3740. ;    39      -
  3741. ;    151     ==
  3742. ;    66      <>
  3743. ;    41      <
  3744. ;    45      <=
  3745. ;    7       >
  3746. ;    74      >=
  3747. ;    414     !
  3748. ;    147     &&
  3749. ;    62      ||
  3750. ;    53      Len(
  3751. ;    59      Upper()
  3752. ;    58      Mid()
  3753. ;    42      Left()
  3754. ;    61      Space()
  3755. ;    23      Ferr()
  3756. ;    30      Chr()
  3757. ;    4       Asc()
  3758. ;    19      InStr()
  3759. ;    21      Trim()
  3760. ;    31      Date()
  3761. ;    27      Time()
  3762. ;    19      U_Name()
  3763. ;    4       NoChar()
  3764. ;    11      YesChar()
  3765. ;    1       Replace()
  3766. ;    79      Strip()
  3767. ;    107     String()
  3768. ;    1       Mask_Pwd()
  3769. ;    3       Mask_Ascii()
  3770. ;    4       PCBDat()
  3771. ;    73      PPEPath()
  3772. ;    29      PcbNode()
  3773. ;    4       ReadLine()
  3774. ;    8       OnLocal()
  3775. ;    15      UN_Stat()
  3776. ;    16      UN_Name()
  3777. ;    12      UN_City()
  3778. ;    2       GetToken()
  3779. ;    3       MinLeft()
  3780. ;    1       GetEnv()
  3781. ;    2       CallId()
  3782. ;    27      Exist()
  3783. ;    19      S2I()
  3784. ;    4       Carrier()
  3785. ;    1       CDOn()
  3786. ;    6       LangExt()
  3787. ;    2       DefColor()
  3788. ;    12      Psa()
  3789. ;    32      FileInf()
  3790. ;    7       PPEName()
  3791. ;    3       KInkey()
  3792. ;    6       TempPath()
  3793. ;    3       MGetByte()
  3794. ;    5       ToReal()
  3795. ;    1       ToInt()
  3796. ;    3       EvtTimeAdj()
  3797. ;    2       FmtReal()
  3798. ;    2       OutBytes()
  3799. ;    5       InBytes()
  3800. ;
  3801. ;------------------------------------------------------------------------------
  3802. ;
  3803. ; Analysis flags : WABMSCafdH
  3804. ;
  3805. ; W - Write user ■ 5
  3806. ;     Program writes a user record. Although this may be normal for a
  3807. ;     User Editor, it may also be a way to modify an account level.
  3808. ;     ■ Search for : PUTUSER
  3809. ;
  3810. ; A - Adjust online time remaining ■ 5
  3811. ;     Program modify the amount of online time remaining, this may
  3812. ;     be a way to bypass time limits
  3813. ;     ■ Search for : ADJTIME
  3814. ;
  3815. ; B - Brute hangup ■ 1
  3816. ;     Program hangup without notification. This may be a good way to
  3817. ;     disconnect a user, but if used randomly, may be very nasty
  3818. ;     ■ Search for : HANGUP, DTROFF
  3819. ;
  3820. ; M - Send text to modem only ■ 4
  3821. ;     Some informations are sent only to the modem, not to the local
  3822. ;     screen, this is a well known way to make stealth backdoors, Check!
  3823. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  3824. ;
  3825. ; S - Shell to DOS ■ 5
  3826. ;     This may be normal if the PPE need to execute an external command,
  3827. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  3828. ;     or usefull (sorting, maintenance,...). Check!
  3829. ;     ■ Search for : SHELL
  3830. ;
  3831. ; C - Call child PPE ■ 3
  3832. ;     This is usually normal, but may be a tricky way to launch some
  3833. ;     sysop-only commands.
  3834. ;     ■ Search for : CALL
  3835. ;
  3836. ; a - Adjust ratio ■ 4
  3837. ;     User's ratio is adjusted by changing the amount of files/bytes
  3838. ;     uploaded. This may be normal for a user editor.
  3839. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  3840. ;
  3841. ; f - Flag files for download ■ 3
  3842. ;     This may be normal if a PPE needs to send some files, but since
  3843. ;     this statement allows flagging of any file on the hard disk, you
  3844. ;     have to be carefull. Check!
  3845. ;     ■ Search for : FLAG
  3846. ;
  3847. ; d - Access PCBOARD.DAT ■ 2
  3848. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  3849. ;     for many PPE so they can find various informations on the system
  3850. ;     (system paths, max number of lines in messages, ...) but it may also
  3851. ;     be a way to gather vital informations.
  3852. ;     ■ Search for : PCBDAT()
  3853. ;
  3854. ; H - Read Password or Password History ■ 5
  3855. ;     Program is reading the user's password or last password history
  3856. ;     This may be ok for a password manager, but it is very suspect. Check!
  3857. ;     ■ Search for : U_PWDHIST, U_PWD
  3858. ;
  3859. ;------------------------------------------------------------------------------
  3860. ;
  3861. ; Postprocessing report
  3862. ;
  3863. ;    32      For/Next
  3864. ;    27      While/EndWhile
  3865. ;    260     If/Then or If/Then/Else
  3866. ;    8       Select Case
  3867. ;
  3868. ;------------------------------------------------------------------------------
  3869. ;                 AEGiS Corp - Break the routines, code against the machines!
  3870. ;------------------------------------------------------------------------------
  3871.